<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>tr-181-2-14-1-cwmp.xml</title>
  <style>
    code{white-space: pre-wrap;}
    span.smallcaps{font-variant: small-caps;}
    div.columns{display: flex; gap: min(4vw, 1.5em);}
    div.column{flex: auto; overflow-x: auto;}
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
    /* The extra [class] is a hack that increases specificity enough to
       override a similar rule in reveal.js */
    ul.task-list[class]{list-style: none;}
    ul.task-list li input[type="checkbox"] {
      font-size: inherit;
      width: 0.8em;
      margin: 0 0.8em 0.2em -1.6em;
      vertical-align: middle;
    }
  </style>
  <!-- Sidebar ToC styles -->

  <style>
  @media screen and (min-width: 60em) {
      body {
          display: flex;
          align-items: stretch;
          margin: 0px;
          /* XXX this is experimental; may need to insert zero-width spaces */
          overflow-wrap: break-word;
      }

      #main {
          flex: 4 2 auto;
          overflow: auto;
          order: 2;
          padding: 5px;
      }

      #TOC {
          position: sticky;
          order: 1;
          flex: 1 0 auto;
          margin: 0 0;
          top: 0px;
          left: 0px;
          height: 100vh;
          line-height: 1.4;
          resize: horizontal;
          font-size: larger;
          overflow: auto;
          border-right: 1px solid #73AD21;
          padding: 5px;
          max-width: 20%;
      }

      #TOC ul {
          margin: 0.35em 0;
          padding: 0 0 0 1em;
          list-style-type: none;
      }

      #TOC ul ul {
          margin: 0.25em 0;
      }

      #TOC ul ul ul {
          margin: 0.15em 0;
      }

      #TOC {
          z-index: 1;
      }
  }
  </style>

  <!-- ToC expansion and contraction script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var expandables = document.getElementsByClassName('expandable');
      for (i = 0; i < expandables.length; i++) {
          expandables[i].addEventListener('click', function() {
              this.parentElement.querySelector('.collapsed').classList
                  .toggle('expanded');
              this.classList.toggle('collapsible');
          });
      }
  });
  </script>

  <!-- ToC expansion and contraction styles -->

  <style>
  .expandable {
      cursor: pointer;
      user-select: none;
      display: list-item;
      /* Circled Plus + non-breakable space */
      list-style-type: "\2295\A0";
  }

  .collapsible {
      /* Circled Minus + non-breakable space */
      list-style-type: "\2296\A0";
  }

  .collapsed {
      display: none;
  }

  .expanded {
      display: grid; /* needed by the 'order' property */
  }
  </style>

  <!-- ToC sorting script (works for object names and profile headers) -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      /* 'A.B.' -> {prefix: '', name: 'A.B.', 'version': ''}
         '_Baseline:1' -> {prefix: '_', name: 'Baseline', version: '1'} */
      var regex = /^(?<prefix>_?)(?<name>[^:]*)(:?)(?<version>\d*)/;
      var lists = document.getElementsByClassName('ordered');
      for (var i = 0; i < lists.length; i++) {
          var items = lists[i].children;
          var temp = [];
          for (var j = 0; j < items.length; j++) {
              /* this assumes that the first child contains the text */
              temp.push([j, items[j].children[0].innerText]);
          }
          temp.sort((a, b) => {
              /* 'Notation' (which is used for profiles) must come first */
              var a1 = a[1] == 'Notation' ? ' Notation' : a[1];
              var b1 = b[1] == 'Notation' ? ' Notation' : b[1];
              var a1_groups = a1.match(regex).groups;
              var b1_groups = b1.match(regex).groups;
              var a1_tuple =  [
                  a1_groups.name.toLowerCase() + (a1_groups.prefix || '~'),
                  parseInt(a1_groups.version || 0)];
              var b1_tuple =  [
                  b1_groups.name.toLowerCase() + (b1_groups.prefix || '~'),
                  parseInt(b1_groups.version || 0)];
              return a1_tuple < b1_tuple ? -1 : a1_tuple > b1_tuple ? 1 : 0;
          });
          temp.forEach((order_text, j) => {
              var k = order_text[0];
              items[k].style.order = j;
          });
      }
  });
  </script>

  <!-- Automatic title generation (from anchor ids) script
       XXX only works for non-deprecated object parameters and doesn't
           show correct full paths; should get rid of it? -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var pars = document.getElementsByClassName('parameter');
      var regex = /\w\.\w+:[0-9.]+\./;
      for (var i = 0; i < pars.length; i++) {
          if (pars[i].firstElementChild && pars[i].firstElementChild.
                  firstElementChild) {
              pars[i].firstElementChild.title =
                  pars[i].firstElementChild.firstElementChild.id.
                  replace(regex, '');
          }
      }
  });
  </script>

  <!-- Automatic on-hover link generation script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var hoverlink = null;

      var anchors = document.querySelectorAll('td span[id]:not(:empty)');
      for (var i = 0; i < anchors.length; i++) {
        var cell = anchors[i].parentElement;

        cell.addEventListener('mouseenter', event => {
          var target = event.target;
          var anchor = target.querySelector('span[id]:not(:empty)');

          /* derive the item type from the row's first class item,
           * which might have a leading 'deprecated-' etc. and
           * might also contain additional hyphens */
          var itemType = (target.parentElement.classList.item(0) || 'item').
              replace(/^\w+-/, '').replace(/-/g, ' ');

          if (hoverlink) {
            hoverlink.remove();
            hoverlink = null;
          }

          hoverlink = document.createElement('a');
          hoverlink.href = '#' + anchor.id;
          hoverlink.className = 'hoverlink';
          hoverlink.title = 'Permalink to this ' + itemType;
          target.appendChild(hoverlink);
        });

        cell.addEventListener('mouseleave', () => {
          if (hoverlink) {
            hoverlink.remove();
            hoverlink = null;
          }
        });
      }
  });
  </script>

  <!-- Hoverlink styles -->

  <style>
  :root {
      --hoverlink-size: 0.9em;
  }

  .hoverlink {
      text-decoration: none;
  }

  .hoverlink::after {
      position: absolute;
      display: inline-block;
      content: "";
      width: var(--hoverlink-size);
      height: var(--hoverlink-size);
      background-size: var(--hoverlink-size) var(--hoverlink-size);
      background-image: url();
  }
  </style>

  <!-- Table body expansion and contraction script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var showables = document.getElementsByClassName('showable');
      for (var i = 0; i < showables.length; i++) {
          var showable = showables[i];
          showable.addEventListener('click', function() {
              this.classList.toggle('show');
          });
      }

      showables = document.getElementsByClassName('showable2');
      for (var i = 0; i < showables.length; i++) {
          var showable = showables[i];
          showable.addEventListener('click', function(event) {
              this.classList.toggle('show2');
              event.stopPropagation();
          });
      }
  });
  </script>

  <!-- Table body expansion and contraction styles -->

  <style>
  .chevron {
      color: var(--link-color);
      cursor: pointer;
  }

  .chevron::before {
      /* Single Right-Pointing Angle Quotation Mark */
      content: "\00203A ";
  }

  .chevron .click::after {
      content: " Click to show/hide...";
  }

  .hide {
      display: none;
  }

  .show tr {
      display: table-row;
  }

  .show td div, .show ul, .show ol {
      display: block;
  }

  .show td span {
      display: inline;
  }

  .show2 *.hide {
      display: none;
  }

  </style>

  <!-- Global styles (that affect the entire document) -->

  <style>
  /* light mode support */
  @media (prefers-color-scheme: light) {
    :root {
      --background-color: white;
      --foreground-color: black;
      --diff-background-color: aliceblue;
      --link-color: blue;
      --parameter-color: white;
      --object-color: #ffff99;
      --command-color: #66cdaa;
      --event-color: #66cdaa;
      --argument-container-color: silver;
      --argument-object-color: pink;
      --argument-parameter-color: #ffe4e1;
      --mountable-object-color: #b3e0ff;
      --mountpoint-object-color: #4db8ff;
      --stripe-direction: 90deg;
      --stripe-stop-point-1: 1%;
      --stripe-stop-point-2: 2%;
      --stripe-color-deprecated: #eeeeee;
      --stripe-color-obsoleted: #dddddd;
      --stripe-color-deleted: #cccccc;
    }
  }

  /* dark mode support */
  @media (prefers-color-scheme: dark) {
    :root {
      --background-color: black;
      --foreground-color: white;
      --diff-background-color: #0f0700;
      --link-color: lightblue;
      --parameter-color: black;
      --object-color: #bbbb44;
      --command-color: #56bd9a;
      --event-color: #56bd9a;
      --argument-container-color: #777777;
      --argument-object-color: #dfa0ab;
      --argument-parameter-color: #bfa4a1;
      --mountable-object-color: #b3e0ff;
      --mountpoint-object-color: #3da8ef;
      --stripe-color-deprecated: #555555;
      --stripe-color-obsoleted: #444444;
      --stripe-color-deleted: #333333;
    }
    .hoverlink {
      filter: invert(1);
    }
  }

  body, table {
      background-color: var(--background-color);
      color: var(--foreground-color);
      font-family: helvetica, arial, sans-serif;
      font-size: 9pt;
  }

  h1 {
      font-size: 14pt;
  }

  h2 {
      font-size: 12pt;
  }

  h3 {
      font-size: 10pt;
  }

  a:link, a:visited {
      color: var(--link-color);
  }

  sup {
      vertical-align: super;
  }

  table {
      text-align: left;
      vertical-align: top;
  }

  td, th {
      padding: 2px;
      text-align: left;
      vertical-align: top;
  }

  /* this is intended for hoverlinks */
  td span {
      padding-right: 2px;
  }

  table.middle-width {
      width: 60%;
  }

  table.full-width {
      width: 100%;
  }

  thead th {
      background-color: #999999;
  }

  table.partial-border {
      border-left-style: hidden;
      border-right-style: hidden;
      border-collapse: collapse;
  }

  table.partial-border th,
  table.partial-border td {
      border-style: solid;
      border-width: 1px;
      border-color: lightgray;
  }

  td > div,
  td > p {
      margin-block-start: 0;
      margin-block-end: 1em;
  }

  td > div:last-of-type,
  td > p:last-of-type {
      margin-block-end: 0;
  }

  .centered {
      text-align: center;
  }

  .inserted {
      color: blue;
  }

  .removed {
      color: red;
      text-decoration: line-through;
  }

  /* XXX this is a bad name */
  .diffs {
      background-color: var(--diff-background-color);
      opacity: 0.8;
  }

  .parameter {
      background-color: var(--parameter-color);
  }

  .deprecated-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .object {
      background-color: var(--object-color);
  }

  .deprecated-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .command {
      background-color: var(--command-color);
  }

  .deprecated-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .event {
      background-color: var(--event-color);
  }

  .deprecated-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-container {
      background-color: var(--argument-container-color);
  }

  .deprecated-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-parameter {
      background-color: var(--argument-parameter-color);
  }

  .deprecated-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-object {
      background-color: var(--argument-object-color);
  }

  .deprecated-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .mountable-object {
      background-color: var(--mountable-object-color);
  }

  .deprecated-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .mountpoint-object {
      background-color: var(--mountpoint-object-color);
  }

  .deprecated-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }
  </style>

  <!-- Local styles (that affect only data model tables) -->

  <style>
  /* center column 2 (Base Type) */
  .data-type-table th:nth-child(2),
  .data-type-table td:nth-child(2) {
      text-align: center;
  }

  /* center columns 3 (Write), 5 (Object Default), 6 (Version) */
  .data-model-table th:nth-child(3),
  .data-model-table td:nth-child(3),
  .data-model-table th:nth-child(5),
  .data-model-table td:nth-child(5),
  .data-model-table th:nth-child(6),
  .data-model-table td:nth-child(6)
  {
      text-align: center;
  }

  .data-model-table th,
  .data-model-table td {
      hyphenate-character: "";
  }

  /* word wrap/break column 1 (Name) */
  .data-model-table td:first-child {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 27ch;
  }

  /* word wrap/break column 2 (Base Type) */
  .data-model-table td:nth-child(2) {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 12ch;
  }

  /* word wrap/break column 3 (Write) */
  .data-model-table td:nth-child(3) {
      min-width: 1ch;
  }

  /* word wrap/break column 5 (Object Default) */
  .data-model-table td:nth-child(5) {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 12ch;
  }

  /* word wrap/break column 6 (Version) */
  .data-model-table td:nth-child(6) {
      min-width: 6ch;
  }

  /* center column 1 (Abbreviation) */
  .profile-notation-table th:nth-child(1),
  .profile-notation-table td:nth-child(1) {
      text-align: center;
  }

  /* center column 2 (Requirement) */
  .profile-requirements-table th:nth-child(2),
  .profile-requirements-table td:nth-child(2) {
      text-align: center;
  }
  </style>

  <style>
  /* enabled if the --show option was specified (to avoid confusion between
     links and inserted text) */
  a:link, a:visited, a:hover, a:active {
      color: inherit;
  }
  </style>
</head>
<body>
<div id="main">
<table class="full-width">
<colgroup>
<col style="width: 3.0%;"></col>
<col style="width: 22.0%;"></col>
<col style="width: 50.0%;"></col>
<col style="width: 25.0%;"></col></colgroup>
<tbody>
<tr>
<td colspan="2"><a href="https://www.broadband-forum.org"><img width="100%" src="https://www.broadband-forum.org/images/logo-broadband-forum.gif" alt="Broadband Forum"></img></a></td>
<td class="centered" rowspan="1"><p></p>

<h1 id="tr-069-device2-root-data-model-definition-cwmp-changes" class="unnumbered unlisted">TR-069 Device:2 Root Data Model definition [CWMP] (changes)</h1>

<h1 id="tr-181-2-14-1-cwmpxml" class="unnumbered unlisted"><a href="./#tr-181-2-14-1-cwmp.xml">tr-181-2-14-1-cwmp.xml</a></h1></td>
<td rowspan="1"></td></tr>
<tr>
<td></td>
<td><h3 id="data-model-definition" class="unnumbered unlisted">DATA MODEL DEFINITION</h3></td></tr></tbody></table>

<h1 id="license">License</h1>

<p>Copyright (c) 2010-2019, Broadband Forum</p>

<p>The undersigned members have elected to grant the copyright to
their contributed material used in this software:<br/>    Copyright (c) 2017-2019 ARRIS Enterprises, LLC.</p>

<p>Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:</p>

<ol>
<li>Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.</li>
<li>Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.</li>
<li>Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior written
permission.</li></ol>

<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS &ldquo;AS IS&rdquo; AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>

<p>The above license is used as a license under copyright only.
Please reference the Forum IPR Policy for patent licensing terms
<a href="https://www.broadband-forum.org/ipr-policy">https://www.broadband-forum.org/ipr-policy</a>.</p>

<p>Any moral rights which are necessary to exercise under the above
license grant are also deemed granted under this license.</p>

<h1 id="data-types">Data Types</h1>

<p>The Parameters defined in this specification make use of a
limited subset of the default SOAP data types [<a href="#R.SOAP1.1">SOAP1.1</a>]. These data
types and the named data types used by this specification
are described below.</p>

<p>Note: A Parameter that is defined to be one of the named data
types is reported as such at the beginning of the Parameter’s
description via a reference back to the associated data type
definition (e.g. <em>[MACAddress]</em>). However, such parameters
still indicate their SOAP data types.</p>

<table class="full-width partial-border data-type-table">
<thead>
<tr>
<th>Data Type</th>
<th>Base Type</th>
<th>Description</th></tr></thead>
<tbody>
<tr>
<td><span id="T.boolean">boolean</span></td>
<td>-</td>
<td>Boolean, where the allowed values are <em>0</em> or <em>1</em> (or equivalently,
<em>true</em> or <em>false</em>).</td></tr>
<tr>
<td><span id="T.dateTime">dateTime</span></td>
<td>-</td>
<td>The subset of the ISO 8601 date-time format defined by the SOAP
<em>dateTime</em> type [<a href="#R.SOAP1.1">SOAP1.1</a>].</td></tr>
<tr>
<td><span id="T.decimal">decimal</span></td>
<td>-</td>
<td><p>Decimal number, with optional sign and optional fractional part.</p>

<p>For some <em>decimal</em> types, a value range is given using the form
<em>decimal(Min:Max)</em> or <em>decimal(Min:Max step Step)</em> where the <em>Min</em>
and <em>Max</em> values are inclusive. If either <em>Min</em> or <em>Max</em> are missing,
this indicates no limit. If <em>Step</em> is missing, this indicates a
step of <em>1.0</em>. Multiple comma-separated ranges can be specified,
in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.int">int</span></td>
<td>-</td>
<td><p>Integer in the range <em>-2147483648</em> to <em>+2147483647</em>, inclusive.</p>

<p>For some <em>int</em> types, a value range is given using the form
<em>int(Min:Max)</em> or <em>int(Min:Max step Step)</em> where the <em>Min</em> and <em>Max</em>
values are inclusive. If either <em>Min</em> or <em>Max</em> are missing,
this indicates no limit. If <em>Step</em> is missing, this indicates a
step of <em>1</em>. Multiple comma-separated ranges can be specified,
in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.string">string</span></td>
<td>-</td>
<td>For strings, a minimum and maximum allowed length can be indicated
using the form <em>string(Min:Max)</em>, where <em>Min</em> and <em>Max</em> are the minimum
and maximum string length in characters. If either <em>Min</em> or <em>Max</em>
are missing, this indicates no limit, and if <em>Min</em> is missing the
colon can also be omitted, as in <em>string(Max)</em>. Multiple
comma-separated ranges can be specified, in which case the string
length will be in one of the ranges.</td></tr>
<tr>
<td><span id="T.unsignedInt">unsignedInt</span></td>
<td>-</td>
<td><p>Unsigned integer in the range <em>0</em> to <em>4294967295</em>, inclusive.</p>

<p>For some <em>unsignedInt</em> types, a value range is given using the form
<em>unsignedInt(Min:Max)</em> or <em>unsigned(Min:Max step Step)</em>, where the
<em>Min</em> and <em>Max</em> values are inclusive. If either <em>Min</em> or <em>Max</em> are
missing, this indicates no limit. If <em>Step</em> is missing,
this indicates a step of <em>1</em>. Multiple comma-separated ranges can be
specified, in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.unsignedLong">unsignedLong</span></td>
<td>-</td>
<td><p>Unsigned long integer in the range <em>0</em> to <em>18446744073709551615</em>,
inclusive.</p>

<p>For some <em>unsignedLong</em> types, a value range is given using the form
<em>unsignedLong(Min:Max)</em> or <em>unsignedLong(Min:Max step Step)</em>, where
the <em>Min</em> and <em>Max</em> values are inclusive. If either <em>Min</em> or <em>Max</em>
are missing, this indicates no limit. If <em>Step</em> is missing,
this indicates a step of <em>1</em>. Multiple comma-separated ranges can be
specified, in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.Alias">Alias</span></td>
<td><a href="#T.string">string</a>(:64)</td>
<td><p>A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul></td></tr>
<tr>
<td><span id="T.Dbm1000">Dbm1000</span></td>
<td><a href="#T.int">int</a></td>
<td>The value is measured in <em>dBm/1000</em>, i.e. the value divided by 1000 is
dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm
(1 mW) and 12345 means 12.345 dBm.</td></tr>
<tr>
<td><span id="T.DiagnosticsState">DiagnosticsState</span></td>
<td><a href="#T.string">string</a></td>
<td><p>Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D..None"><em>None</em></span> (READONLY)</li>
<li><span id="D..Requested"><em>Requested</em></span></li>
<li><span id="D..Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D..Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D..Error"><em>Error</em></span> (READONLY, OPTIONAL)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D..Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D..Requested"><em>Requested</em></a> and <a href="#D..Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D..Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D..Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D..Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D..None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D..None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D..None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D..Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D..Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D..None"><em>None</em></a>. If the CPE does not support
the <a href="#D..Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p></td></tr>
<tr>
<td><span id="T.IPAddress">IPAddress</span></td>
<td><a href="#T.string">string</a>(:45)</td>
<td><p>IP address, i.e. IPv4 address (or IPv4 subnet mask) or IPv6 address.</p>

<p>All IPv4 addresses and subnet masks MUST be represented as strings in
IPv4 dotted-decimal notation. Here are some examples of valid IPv4
address textual representations:</p>

<ul>
<li>216.52.29.100</li>
<li>192.168.1.254</li></ul>

<p>All IPv6 addresses MUST be represented using any of the 3 standard
textual representations defined in [<a href="#R.RFC4291">RFC4291</a>] Sections 2.2.1,
2.2.2 and 2.2.3. Both lower-case and upper-case letters can be used, but
use of lower-case letters is RECOMMENDED. Here are some examples of valid
IPv6 address textual representations:</p>

<ul>
<li>1080:0:0:800:ba98:3210:11aa:12dd</li>
<li>1080::800:ba98:3210:11aa:12dd</li>
<li>0:0:0:0:0:0:13.1.68.3</li></ul>

<p>IPv6 addresses MUST NOT include zone identifiers. Zone identifiers are
discussed in [<a href="#R.RFC4007">Section 6/RFC4007</a>].</p>

<p>Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be
represented as empty strings unless otherwise specified by the parameter
definition.</p></td></tr>
<tr>
<td><span id="T.IPv4Address">IPv4Address</span></td>
<td><a href="#T.IPAddress">IPAddress</a>(:45)</td>
<td><p>IPv4 address (or subnet mask).</p>

<p>Can be any IPv4 address that is permitted by the <em>IPAddress</em> data type.</p>

<p>Possible patterns:</p>

<ul>
<li><span id="D.."><em>&lt;Empty&gt;</em></span> (an empty string)</li>
<li><span id="D..250-520-40-9010-90-9.3250-520-40-9010-90-9"><code>((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])</code></span></li></ul></td></tr>
<tr>
<td><span id="T.IPv6Address">IPv6Address</span></td>
<td><a href="#T.IPAddress">IPAddress</a>(:45)</td>
<td><p>IPv6 address.</p>

<p>Can be any IPv6 address that is permitted by the <em>IPAddress</em> data type.</p></td></tr>
<tr>
<td><span id="T.MACAddress">MACAddress</span></td>
<td><a href="#T.string">string</a>(:17)</td>
<td><p>All MAC addresses are represented as strings of 12 hexadecimal digits
(digits 0-9, letters A-F or a-f) displayed as six pairs of digits
separated by colons. Unspecified or inapplicable MAC addresses MUST be
represented as empty strings unless otherwise specified by the parameter
definition.</p>

<p>Possible patterns:</p>

<ul>
<li><span id="D.."><em>&lt;Empty&gt;</em></span> (an empty string)</li>
<li><span id="D..0-9A-Fa-f0-9A-Fa-f:50-9A-Fa-f0-9A-Fa-f"><code>([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])</code></span></li></ul></td></tr>
<tr>
<td><span id="T.PSDBreakPointIndexAndLevel">PSDBreakPointIndexAndLevel</span></td>
<td><a href="#T.unsignedInt">unsignedInt</a>[2:2]</td>
<td><ol>
<li>the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:8191] with Df = 4.3125 kHz frequency spacing, and</li>
<li>the value of the level of the PSD at this sub-carrier expressed in <em>0.1 dBm/Hz</em> with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz.
Both values are represented as unsignedInt.</li></ol></td></tr>
<tr>
<td><span id="T.PSMBreakPointIndexAndLevel">PSMBreakPointIndexAndLevel</span></td>
<td><a href="#T.unsignedInt">unsignedInt</a>[2:2]</td>
<td><ol>
<li>The PSM breakpoint sub-carrier index in the range [0:4095], and</li>
<li>the value of the level of the PSM at this sub-carrier expressed in <em>0.1 dBm/Hz</em> with an offset of -140 dBm/Hz.
Both values are represented as unsignedInt.
[<a href="#R.G.9964">Clause 5.2/G.9964</a>] defines limits on PSM breakpoint levels.</li></ol></td></tr>
<tr>
<td><span id="T.SELTPAttenuationCharacteristicsIndexAndTFlog">SELTPAttenuationCharacteristicsIndexAndTFlog</span></td>
<td><a href="#T.unsignedInt">unsignedInt</a>[2:2]</td>
<td><ol>
<li>The paired frequency spacing index in the range [0:8191], and</li>
<li>The transfer function log value, i.e. [i, TFlog(i * <em>TFlogGroupSize</em> * Df)], where the reference frequency spacing Df = 4.3125 kHz, the index i valid range is 0 to 8191, and TFlog(i * <em>TFlogGroupSize</em> * Df) spans a range from +6.0 dB down to -96.2 dB with units of 0.1 dB.
Both values are represented as unsignedInt.</li></ol></td></tr>
<tr>
<td><span id="T.SST">SST</span></td>
<td><a href="#T.string">string</a></td>
<td><p>Service Slice Type (SST). Enumeration of:</p>

<ul>
<li><span id="D..eMBB"><em>eMBB</em></span> (5G Enhanced Mobile Broadband)</li>
<li><span id="D..URLLC"><em>URLLC</em></span> (Ultra-Reliable Low Latency Communications)</li>
<li><span id="D..MIoT"><em>MIoT</em></span> (Massive IoT)</li>
<li><span id="D..V2X"><em>V2X</em></span> (Vehicle to Everything)
See [<a href="#R.3GPP-TS.23.501">Clause 5.15.2.2/3GPP-TS.23.501</a>].</li></ul></td></tr>
<tr>
<td><span id="T.StatsCounter32">StatsCounter32</span></td>
<td><a href="#T.unsignedInt">unsignedInt</a></td>
<td><p>A 32-bit statistics parameter, e.g. a byte counter.</p>

<p>This data type SHOULD NOT be used for statistics parameters whose values
might become greater than the maximum value that can be represented as an
<em>unsignedInt</em> (i.e. 0xffffffff, referred to below as <em>maxval</em>).
<em>StatsCounter64</em> SHOULD be used for such parameters.</p>

<p>The value <em>maxval</em> indicates that no data is available for this
parameter. In the unlikely event that the actual value of the statistic
is <em>maxval</em>, the CPE SHOULD return <em>maxval - 1</em>.</p>

<p>The actual value of the statistic might be greater than <em>maxval</em>. Such
values SHOULD wrap around through zero.</p>

<p>The term <em>packet</em> is to be interpreted as the transmission unit
appropriate to the protocol layer in question, e.g. an IP packet or an
Ethernet frame.</p></td></tr>
<tr>
<td><span id="T.StatsCounter64">StatsCounter64</span></td>
<td><a href="#T.unsignedLong">unsignedLong</a></td>
<td><p>A 64-bit statistics parameter, e.g. a byte counter.</p>

<p>This data type SHOULD be used for all statistics parameters whose values
might become greater than the maximum value that can be represented as an
<em>unsignedInt</em>.</p>

<p>The maximum value that can be represented as an <em>unsignedLong</em> (i.e.
0xffffffffffffffff) indicates that no data is available for this
parameter.</p>

<p>The term <em>packet</em> is to be interpreted as the transmission unit
appropriate to the protocol layer in question, e.g. an IP packet or an
Ethernet frame.</p></td></tr>
<tr>
<td><span id="T.UERComplex">UERComplex</span></td>
<td><a href="#T.int">int</a>[2:2]</td>
<td>Pair of 32-bit signed integers a(i),b(i) with each pair representing a complex component of the uncalibrated echo response (UER);

<ol>
<li>Real UER component, a(i)</li>
<li>Imaginary UER component, b(i)
for values of i starting at i=0. Both values are represented as signed integers.
The interpretation of the UER value is as defined in [<a href="#R.G.996.2">Clause A.2.2.1/G.996.2</a>].</li></ol></td></tr>
<tr>
<td><span id="T.URI">URI</span></td>
<td><a href="#T.string">string</a>(:2048)</td>
<td>Uniform Resource Identifier. See [<a href="#R.RFC3986">RFC3986</a>].</td></tr>
<tr>
<td><span id="T.URL">URL</span></td>
<td><a href="#T.URI">URI</a>(:2048)</td>
<td>Uniform Resource Locator. See [<a href="#R.RFC3986">RFC3986</a>] (URI),
[<a href="#R.IANA-uri-schemes">IANA-uri-schemes</a>], and individual URI scheme RFCs such as
[<a href="#R.RFC7252">RFC7252</a>] (<em>coap</em>, <em>coaps</em>) and [<a href="#R.RFC7230">RFC7230</a>]
(<em>http</em>, <em>https</em>).</td></tr></tbody></table>

<h1 id="references">References</h1>

<table>
<tbody>
<tr>
<td><a href="https://www.3gpp.org/ftp/Specs/html-info/23003.htm">[<span id="R.3GPP-TS.23.003">3GPP-TS.23.003</span>]</a></td>
<td>3GPP TS 23.003, <em>Numbering, addressing and identification</em>, 3GPP CT WG4.</td></tr>
<tr>
<td><a href="https://www.3gpp.org/ftp/Specs/html-info/23501.htm">[<span id="R.3GPP-TS.23.501">3GPP-TS.23.501</span>]</a></td>
<td>3GPP TS 23.501, <em>System architecture for the 5G System (5GS); Stage 2</em>, 3GPP SA WG2.</td></tr>
<tr>
<td><a href="https://www.3gpp.org/ftp/Specs/html-info/24008.htm">[<span id="R.3GPP-TS.24.008">3GPP-TS.24.008</span>]</a></td>
<td>3GPP TS 24.008, <em>Mobile radio interface Layer 3 specification; Core network protocols;
Stage 3</em>, 3GPP CT WG1.</td></tr>
<tr>
<td><a href="https://www.3gpp.org/ftp/Specs/html-info/24301.htm">[<span id="R.3GPP-TS.24.301">3GPP-TS.24.301</span>]</a></td>
<td>3GPP TS 24.301, <em>Non-Access-Stratum (NAS) protocol for Evolved Packet System (EPS);
Stage 3</em>, 3GPP CT WG1.</td></tr>
<tr>
<td><a href="https://www.3gpp.org/ftp/Specs/html-info/24501.htm">[<span id="R.3GPP-TS.24.501">3GPP-TS.24.501</span>]</a></td>
<td>3GPP TS 24.501, <em>Non-Access-Stratum (NAS) protocol for 5G System (5GS); Stage 3</em>, 3GPP CT WG1.</td></tr>
<tr>
<td><a href="https://www.3gpp.org/ftp/Specs/html-info/24526.htm">[<span id="R.3GPP-TS.24.526">3GPP-TS.24.526</span>]</a></td>
<td>3GPP TS 24.526, <em>User Equipment (UE) policies for 5G System (5GS); Stage 3</em>, 3GPP CT WG1.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.11-2007.pdf">[<span id="R.802.11-2007">802.11-2007</span>]</a></td>
<td>IEEE Std 802.11-2007, <em>Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications</em>, IEEE, 2007.</td></tr>
<tr>
<td><a href="https://ieeexplore.ieee.org/document/7786995">[<span id="R.802.11-2016">802.11-2016</span>]</a></td>
<td>IEEE Std 802.11-2016, <em>Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications</em>, IEEE, December 2016.</td></tr>
<tr>
<td><a href="https://www.ieee802.org/11/Reports/tgac_update.htm">[<span id="R.802.11ac-2013">802.11ac-2013</span>]</a></td>
<td>IEEE Std 802.11ac-2013, <em>Enhancements for Very High Throughput for Operation in Bands below 6
GHz</em>, IEEE, December 2013.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/standard/802_11ax-2021.html">[<span id="R.802.11ax">802.11ax</span>]</a></td>
<td>IEEE Std 802.11ax, <em>Enhancements for High Efficiency WLAN</em>, IEEE, May 2021.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.11b-1999.pdf">[<span id="R.802.11b-1999">802.11b-1999</span>]</a></td>
<td>IEEE Std 802.11b-1999, <em>Higher Speed Physical Layer Extension in the 2.4 GHz band</em>, IEEE, 1999.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.11g-2003.pdf">[<span id="R.802.11g-2003">802.11g-2003</span>]</a></td>
<td>IEEE Std 802.11g-2003, <em>Further Higher Data Rate Extension in the 2.4 GHz Band</em>, IEEE, 2003.</td></tr>
<tr>
<td><a href="https://ieeexplore.ieee.org/xpl/freeabs_all.jsp?reload=true&amp;arnumber=5307322">[<span id="R.802.11n-2009">802.11n-2009</span>]</a></td>
<td>IEEE Std 802.11n-2009, <em>Amendment 5: Enhancements for Higher Throughput</em>, IEEE, 2009.</td></tr>
<tr>
<td><a href="https://ieeexplore.ieee.org/servlet/opac?punumber=7428774">[<span id="R.802.3-2015">802.3-2015</span>]</a></td>
<td>IEEE Std 802.3-2015, <em>IEEE Standard for Ethernet</em>, IEEE, 2015.</td></tr>
<tr>
<td><a href="https://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=27769">[<span id="R.DVB-TS.102.824">DVB-TS.102.824</span>]</a></td>
<td>TS 102 824, <em>Digital Video Broadcasting (DVB);Remote Management and Firmware Update
System for DVB IP Services</em>, ETSI, July 2008.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9701-201412-P">[<span id="R.G.9701">G.9701</span>]</a></td>
<td>G.9701, <em>Fast access to subscriber terminals (G.fast)- Physical layer
specification</em>, ITU-T, 2014.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.988-201010-P/en">[<span id="R.G.988">G.988</span>]</a></td>
<td>G.988, <em>ONU management and control interface (OMCI) specification</em>, ITU-T, 2010.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.996.2">[<span id="R.G.996.2">G.996.2</span>]</a></td>
<td>G.996.2, <em>Single-ended line testing for digital subscriber lines (DSL)</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9960-201006-P">[<span id="R.G.9960">G.9960</span>]</a></td>
<td>G.9960, <em>Unified high-speed wire-line based home networking transceivers -
System architecture and physical layer specification</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9961-201006-P">[<span id="R.G.9961">G.9961</span>]</a></td>
<td>G.9961, <em>Unified high-speed wire-line based home networking transceivers - Data
link layer specification</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9962-201308-P">[<span id="R.G.9964">G.9964</span>]</a></td>
<td>G.9964, <em>Unified high-speed wire-line based home networking transceivers - Power
spectral density specification</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.997.1">[<span id="R.G.997.1">G.997.1</span>]</a></td>
<td>G.997.1, <em>Physical layer management for digital subscriber line (DSL)
transceivers</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.997.2-201505-I">[<span id="R.G.997.2">G.997.2</span>]</a></td>
<td>G.997.2, <em>Physical layer management for FAST transceivers</em>, ITU-T, 2015.</td></tr>
<tr>
<td><a href="https://www.iana.org/assignments/uri-schemes">[<span id="R.IANA-uri-schemes">IANA-uri-schemes</span>]</a></td>
<td>IANA Uniform Resource Identifier (URI) Schemes Registry, <em>Uniform Resource Identifier (URI) Schemes</em>, IANA.</td></tr>
<tr>
<td><a href="https://www.icsalabs.com/sites/default/files/baseline.pdf">[<span id="R.ICSA-Baseline">ICSA-Baseline</span>]</a></td>
<td>ICSA Baseline Modular Firewall Certification Criteria, <em>Baseline module - version 4.1</em>, ICSA Labs, 2008.</td></tr>
<tr>
<td><a href="https://www.IEEE.org">[<span id="R.IEEE1905.1a">IEEE1905.1a</span>]</a></td>
<td>IEEE 1905.1a, <em>IEEE Std 1905.1a, Convergent Digital Home Network for Heterogeneous
Technologies Amendment 1: Support of new MAC/PHYs and enhancements,
IEEE, December 2014.</em>, IEEE, December 2014.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/regauth/oui/tutorials/EUI64.html">[<span id="R.IEEE_EUI64">IEEE_EUI64</span>]</a></td>
<td>Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority, <em>Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority</em>, IEEE, March 1997.</td></tr>
<tr>
<td><a href="https://www.tmforum.org/ipdr/">[<span id="R.IPDR-FTP">IPDR-FTP</span>]</a></td>
<td>IPDR File Transfer Protocol, <em>IPDR/File Transfer Protocol</em>, TM Forum.</td></tr>
<tr>
<td><a href="https://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=25039">[<span id="R.ISO-13818-6:1998">ISO-13818-6:1998</span>]</a></td>
<td>ISO/IEC 13818-6:1998, <em>Information Technology - Generic coding of moving pictures and
associated audio information - Part 6: Extensions for DSM-CC</em>, ISO, 1998.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc8193">[<span id="R.LMAPIFM">LMAPIFM</span>]</a></td>
<td>RFC 8193, <em>Information Model for Large-Scale Measurement Platforms (LMAPs)</em>, IETF, August 2017.</td></tr>
<tr>
<td><a href="https://www.wi-fi.org/discover-wi-fi/specifications">[<span id="R.MAPv1.0">MAPv1.0</span>]</a></td>
<td>Multi-AP Specification, <em>Multi-AP Specification Version 1.0</em>, June 2018.</td></tr>
<tr>
<td><a href="https://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html">[<span id="R.MQTT31">MQTT31</span>]</a></td>
<td>MQTT v3.1, <em>MQ Telemetry Transport (MQTT) V3.1 Protocol Specification</em>, 2010.</td></tr>
<tr>
<td><a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html">[<span id="R.MQTT50">MQTT50</span>]</a></td>
<td>MQTT Version 5.0, <em>MQTT Version 5.0, Candidate OASIS Standard 02.</em>, OASIS Message Queuing Telemetry Transport (MQTT) TC, February 2019.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc1661">[<span id="R.RFC1661">RFC1661</span>]</a></td>
<td>RFC 1661, <em>The Point-to-Point Protocol (PPP)</em>, IETF, 1994.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2616">[<span id="R.RFC2616">RFC2616</span>]</a></td>
<td>RFC 2616, <em>Hypertext Transfer Protocol - HTTP/1.1</em>, IETF, 1999.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2863">[<span id="R.RFC2863">RFC2863</span>]</a></td>
<td>RFC 2863, <em>The Interfaces Group MIB</em>, IETF, 2000.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2865">[<span id="R.RFC2865">RFC2865</span>]</a></td>
<td>RFC 2865, <em>Remote Authentication Dial In User Service (RADIUS)</em>, IETF, 2000.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2974">[<span id="R.RFC2974">RFC2974</span>]</a></td>
<td>RFC 2974, <em>Session Announcement Protocol</em>, IETF, October 2000.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3926">[<span id="R.RFC3926">RFC3926</span>]</a></td>
<td>RFC 3926, <em>FLUTE - File Delivery over Unidirectional Transport</em>, IETF, October 2004.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3986">[<span id="R.RFC3986">RFC3986</span>]</a></td>
<td>RFC 3986, <em>Uniform Resource Identifier (URI): Generic Syntax</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4007">[<span id="R.RFC4007">RFC4007</span>]</a></td>
<td>RFC 4007, <em>IPv6 Scoped Address Architecture</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4122">[<span id="R.RFC4122">RFC4122</span>]</a></td>
<td>RFC 4122, <em>A Universally Unique IDentifier (UUID) URN Namespace</em>, IETF, 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4291">[<span id="R.RFC4291">RFC4291</span>]</a></td>
<td>RFC 4291, <em>IP Version 6 Addressing Architecture</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4632">[<span id="R.RFC4632">RFC4632</span>]</a></td>
<td>RFC 4632, <em>Classless Inter-domain Routing (CIDR): The Internet Address Assignment
and Aggregation Plan</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc5625">[<span id="R.RFC5625">RFC5625</span>]</a></td>
<td>RFC 5625, <em>DNS Proxy Implementation Guidelines</em>, IETF, 2009.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc6887">[<span id="R.RFC6887">RFC6887</span>]</a></td>
<td>RFC 6887, <em>Port Control Protocol (PCP)</em>, IETF, 2013.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7159">[<span id="R.RFC7159">RFC7159</span>]</a></td>
<td>RFC7159, <em>The JavaScript Object Notation (JSON) Data Interchange Format</em>, IETF, March 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7230">[<span id="R.RFC7230">RFC7230</span>]</a></td>
<td>RFC 7230, <em>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</em>, IETF, June 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7252">[<span id="R.RFC7252">RFC7252</span>]</a></td>
<td>RFC 7252, <em>The Constrained Application Protocol (CoAP)</em>, IETF, June 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7291">[<span id="R.RFC7291">RFC7291</span>]</a></td>
<td>RFC 7291, <em>DHCP Options for the Port Control Protocol (PCP)</em>, IETF, 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7594">[<span id="R.RFC7594">RFC7594</span>]</a></td>
<td>RFC 7594, <em>A Framework for Large-Scale Measurement of Broadband Performance (LMAP)</em>, IETF, September 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7597">[<span id="R.RFC7597">RFC7597</span>]</a></td>
<td>RFC 7597, <em>Mapping of Address and Port with Encapsulation (MAP)</em>, IETF, July 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7598">[<span id="R.RFC7598">RFC7598</span>]</a></td>
<td>RFC 7598, <em>DHCPv6 Options for configuration of Softwire Address and Port Mapped
Clients</em>, IETF, July 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7599">[<span id="R.RFC7599">RFC7599</span>]</a></td>
<td>RFC 7599, <em>Mapping of Address and Port using Translation (MAP-T)</em>, IETF, July 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc8141">[<span id="R.RFC8141">RFC8141</span>]</a></td>
<td>RFC 8141, <em>Uniform Resource Names (URNs)</em>, IETF, April 2017.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc958">[<span id="R.RFC959">RFC959</span>]</a></td>
<td>RFC 959, <em>File Transfer Protocol</em>, IETF, 1985.</td></tr>
<tr>
<td><a href="https://www.w3.org/TR/2000/NOTE-SOAP-20000508">[<span id="R.SOAP1.1">SOAP1.1</span>]</a></td>
<td>Simple Object Access Protocol (SOAP) 1.1, W3C.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-069.pdf">[<span id="R.TR-069">TR-069</span>]</a></td>
<td>TR-069 Amendment 6, <em>CPE WAN Management Protocol</em>, Broadband Forum, April 2018.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-106.pdf">[<span id="R.TR-106">TR-106</span>]</a></td>
<td>TR-106 Amendment 8, <em>Data Model Template for CWMP Endpoints and USP Agents</em>, Broadband Forum, May 2018.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-124_Issue-5.pdf">[<span id="R.TR-124i5">TR-124i5</span>]</a></td>
<td>TR-124 Issue 5, <em>Functional Requirements for Broadband Residential Gateway Devices</em>, Broadband Forum, July 2016.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-124_Issue-6.pdf">[<span id="R.TR-124i6">TR-124i6</span>]</a></td>
<td>TR-124 Issue 6, <em>Functional Requirements for Broadband Residential Gateway Devices</em>, Broadband Forum, July 2020.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-143.pdf">[<span id="R.TR-143">TR-143</span>]</a></td>
<td>TR-143 Amendment 1 Corrigendum 1, <em>Enabling Network Throughput Performance Tests and Statistical
Monitoring</em>, Broadband Forum, August 2015.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-181_Issue-2.pdf">[<span id="R.TR-181i2">TR-181i2</span>]</a></td>
<td>TR-181 Issue 2 Amendment 15, <em>Device Data Model</em>, Broadband Forum, January 2022.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-232.pdf">[<span id="R.TR-232">TR-232</span>]</a></td>
<td>TR-232, <em>Bulk Data Collection</em>, Broadband Forum, May 2012.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-262.pdf">[<span id="R.TR-262">TR-262</span>]</a></td>
<td>TR-262, <em>Femto Component Objects</em>, Broadband Forum, November 2011.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-471_Issue-4.pdf">[<span id="R.TR-471">TR-471</span>]</a></td>
<td>TR-471, <em>Maximum IP-Layer Capacity Metric, Related Metrics, and Measurements</em>, Broadband Forum, December 2023.</td></tr>
<tr>
<td><a href="http://www.upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0-20080424.pdf">[<span id="R.UPnP-DAv1">UPnP-DAv1</span>]</a></td>
<td>UPnP Device Architecture, <em>UPnP Device Architecture 1.0</em>, UPnP Forum, April 2008.</td></tr>
<tr>
<td><a href="http://www.upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.1.pdf">[<span id="R.UPnP-DAv11">UPnP-DAv11</span>]</a></td>
<td>UPnP Device Architecture 1.1, <em>UPnP Device Architecture 1.1</em>, UPnP Forum, October, 2008.</td></tr>
<tr>
<td><a href="https://csa-iot.org/all-solutions/zigbee">[<span id="R.ZigBee2007">ZigBee2007</span>]</a></td>
<td>ZigBee 2007 Specification, <em>ZigBee 2007 Specification</em>, ZigBee Alliance, October 2007.</td></tr></tbody></table>

<h1 id="legend">Legend</h1>

<table class="middle-width partial-border">
<tbody>
<tr class="object">
<td>Object definition.</td></tr>
<tr class="parameter">
<td>Parameter definition.</td></tr></tbody></table>

<h1 id="device214-data-model">Device:2.14 Data Model</h1>

<p>For a given implementation of this data model, the Agent MUST
indicate support for the highest version number of any object
or parameter that it supports. For example, even if the Agent
supports only a single parameter that was introduced in version
1.4, then it will indicate support for version 1.4. The version
number associated with each object and parameter is shown in
the <strong>Version</strong> column.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed name = <em>Device:2.13</em> ⇒ <em>Device:2.14</em></li></ul></div>

<table class="full-width partial-border data-model-table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Write</th>
<th>Description</th>
<th>Object Default</th>
<th>Version</th></tr></thead>
<tbody>
<tr class="object">
<td><span id="D.Device:2.Device.">Device.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The top-level object for a Device.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WWC."><em>WWC.</em></a> object</li>
<li>Added <a href="#D.Device:2.Device.PDU."><em>PDU.</em></a> object</li>
<li>Added <a href="#D.Device:2.Device.FWE."><em>FWE.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.">Device.DeviceInfo.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains general device information.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.ProductClass">ProductClass</span></td>
<td>string(:64)</td>
<td>R</td>
<td>Identifier of the class of product for which the serial number applies. That is, for a given manufacturer, this parameter is used to identify the product or class of product over which the <a href="#D.Device:2.Device.DeviceInfo.SerialNumber"><em>SerialNumber</em></a> parameter is unique. This value MUST remain fixed over the lifetime of the device, including across firmware updates.<span class="removed"> Any change would indicate that it’s a new device and would therefore require a BOOTSTRAP Inform.</span></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.SerialNumber">SerialNumber</span></td>
<td>string(:64)</td>
<td>R</td>
<td>Identifier of the particular device that is unique for the indicated class of product and manufacturer. This value MUST remain fixed over the lifetime of the device, including across firmware updates.<span class="removed"> Any change would indicate that it’s a new device and would therefore require a BOOTSTRAP Inform.</span></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.">Device.ManagementServer.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to the CPE’s association with an ACS.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td><span class="removed">URL, as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">The [<a href="#T.URL">URL</a>]</span> for the CPE to connect to the ACS using the CPE WAN Management Protocol. This parameter MUST be in the form of a valid HTTP or HTTPS URL. The <em>host</em> portion of this URL is used by the CPE for validating the ACS certificate when using SSL or TLS. Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:256)</em> syntax</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.DelayReboot">DelayReboot</span></td>
<td>int(-1:)</td>
<td>W</td>
<td>The number of <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> from the time the CWMP session in which this parameter value is set is ended until the CPE performs a reboot. Whenever the CPE reboots, this value MUST be reset by the CPE to -1.</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.ConnectionRequestURL">ConnectionRequestURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td><p><span class="inserted">The </span>HTTP <span class="removed">URL, as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> for an ACS to make a Connection Request notification to the CPE. In the form:</p>

<blockquote><a href="http://host:port/path">http://host:port/path</a> The <em>host</em> portion of the URL MAY be the IP address for the management interface of the CPE in lieu of a host name. Note: If the <em>host</em> portion of the URL is a literal IPv6 address then it MUST be enclosed in square brackets (see [<a href="#R.RFC3986">Section 3.2.2/RFC3986</a>]).</blockquote>

<p>This parameter MUST always be included in Inform messages.</p>

<p>Active Notification MUST by default be enabled for this parameter.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.KickURL">KickURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>Present only for a CPE that supports the Kicked RPC method. LAN-accessible <span class="removed">URL, as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> from which the CPE can be <em>kicked</em> to initiate the Kicked RPC method call. MUST be an absolute URL including a host name or IP address as would be used on the LAN side of the CPE.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.DownloadProgressURL">DownloadProgressURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>Present only for a CPE that provides a LAN-side web page to show progress during a file download. LAN-accessible <span class="removed">URL, as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> to which a web-server associated with the ACS MAY redirect a user’s browser on initiation of a file download to observer the status of the download.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.ManageableDevice.">Device.ManagementServer.ManageableDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Each entry in this table corresponds to a distinct LAN Device that supports Device-Gateway Association according to [<a href="#R.TR-069">Annex F/TR-069</a>] as indicated by the presence of the DHCP option specified in that Annex.</p>

<p>At most one entry in this table can exist with a given value for <strong>{{param: reference to obsoleted parameter Device.ManagementServer.ManageableDevice.{i}.Alias}}</strong>, or with the same values for all of <a href="#D.Device:2.Device.ManagementServer.ManageableDevice.ManufacturerOUI"><em>ManufacturerOUI</em></a>, <a href="#D.Device:2.Device.ManagementServer.ManageableDevice.SerialNumber"><em>SerialNumber</em></a> and <a href="#D.Device:2.Device.ManagementServer.ManageableDevice.ProductClass"><em>ProductClass</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.ManagementServer.ManageableDevice.Alias">Alias</span></td>
<td>string(:64)</td>
<td>W</td>
<td>A non-volatile handle used to reference this instance. <em>Alias</em> provides a mechanism for an ACS to label this instance for future reference. An initial unique value MUST be assigned when the CPE creates an instance of this object. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because <a href="#D.Device:2.Device.ManagementServer.ManageableDevice."><em>ManageableDevice</em></a> is a transient object.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.DownloadAvailability.">Device.ManagementServer.DownloadAvailability.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains multicast announcement and query parameters used for the purpose of downloading files.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.">Device.ManagementServer.DownloadAvailability.Announcement.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains multicast announcement parameters used to download files.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.Group.">Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Multicast groups to which the CPE SHOULD listen for announcements.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.Group.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.Group.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.Group.URL"><em>URL</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.Group.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td><span class="removed">URL [<a href="#R.RFC3986">RFC3986</a>]</span><span class="inserted">The [<a href="#T.URL">URL</a>]</span> encoding the group address, source and port on which to listen, and other protocol information, e.g. expected announcement format. Depending on the application, the messages identified by this URL MAY directly contain the data to be downloaded, or alternatively MAY contain information informing the CPE how to obtain the data to be downloaded via a separate mechanism, which itself could involve a unicast or a multicast download protocol. Refer to [<a href="#R.DVB-TS.102.824">DVB-TS.102.824</a>] for an example of a URL format that identifies a SAP [<a href="#R.RFC2974">RFC2974</a>] stream that indicates how to use either FLUTE [<a href="#R.RFC3926">RFC3926</a>] or DSM-CC [<a href="#R.ISO-13818-6:1998">ISO-13818-6:1998</a>] to perform the download.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:256)</em> syntax</li>
<li>Removed <em>string(:256)</em> syntax default</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.DownloadAvailability.Query.">Device.ManagementServer.DownloadAvailability.Query.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains multicast query parameters used to download files.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.DownloadAvailability.Query.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td><span class="removed">URL</span><span class="inserted">The</span> <span class="removed">[<a href="#R.RFC3986">RFC3986</a>]</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the query response server. Depending on the application, the protocol described by this URL MAY be a SOAP interface, or MAY be any other RPC mechanism. Refer to [<a href="#R.DVB-TS.102.824">DVB-TS.102.824</a>] for an example of a URL format that identifies a SOAP interface running over HTTP or HTTPS.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:256)</em> syntax</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.">Device.DeviceInfo.FirmwareImage.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Top-level object for mapping firmware images.
This is a static table – the number of object instances in this table is defined by the firmware that is currently running.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Available">Available</span></td>
<td>boolean</td>
<td>W</td>
<td>Specifies whether or not this particular firmware image can be used by the Agent. An Agent will only attempt to boot this particular firmware image if this parameter value is set to <em>true</em>. This value MUST be set to <em>true</em> <span class="inserted">by the device </span>whenever a new firmware image is installed. This value cannot be set to <em>false</em> if the firmware image is active or is referenced by the <a href="#D.Device:2.Device.DeviceInfo.BootFirmwareImage"><em>BootFirmwareImage</em></a> parameter. Firmware image instances cannot be deleted, so a Controller MAY use this parameter to subsequently mark a particular firmware as being invalid, which will prevent the Agent from attempting to boot it.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>Status of the firmware image, as determined by the Agent. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.NoImage"><em>NoImage</em></span> (This Firmware Image instance is empty. This value could happen on an Agent that supports multiple firmware images, but only has a single image installed)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Active"><em>Active</em></span> (This Firmware Image instance is the currently active image)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Downloading"><em>Downloading</em></span> (This Firmware Image instance is being downloaded)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Validating"><em>Validating</em></span> (This Firmware Image instance has been downloaded, and is in the process of being validated)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Available"><em>Available</em></span> (This Firmware Image instance has been downloaded, validated, and installed, and is ready to be activated)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.DownloadFailed"><em>DownloadFailed</em></span> (The Agent has attempted to download this Firmware Image instance, but ultimately failed while retrieving it from the source URL)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.ValidationFailed"><em>ValidationFailed</em></span> (The Agent has attempted to validate a Firmware Image downloaded to this instance, but ultimately failed while validating it)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.InstallationFailed"><em>InstallationFailed</em></span> (The Agent has attempted to install a Firmware Image downloaded and validated to this instance, but ultimately failed while installing it)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.ActivationFailed"><em>ActivationFailed</em></span> (The Agent has attempted to active this Firmware Image instance, but ultimately failed while being activated)</li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added string <em>Active</em> enumeration</li></ul></div></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.SupportedDataModel.">Device.DeviceInfo.SupportedDataModel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table contains details of the device’s Current Supported Data Model.
The table MUST describe the device’s entire Supported Data Model. Therefore, if a device’s Supported Data Model changes at run-time, entries will need to be added or removed as appropriate.
Each table entry MUST refer to only a single Root Object or Service Object. The device MAY choose to use more than one table entry for a given Root Object or Service Object.
Considering that every device has some form of a data model, this table MUST NOT be empty.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DeviceInfo.SupportedDataModel.URL"><em>URL</em></a>, or with a given value for <a href="#D.Device:2.Device.DeviceInfo.SupportedDataModel.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DeviceInfo.SupportedDataModel.UUID"><em>UUID</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.SupportedDataModel.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td><span class="removed">URL ([<a href="#R.RFC3986">RFC3986</a>])</span><span class="inserted">The [<a href="#T.URL">URL</a>]</span> that describes some or all of the device’s <span class="removed">Current</span><span class="inserted">currently</span> Supported Data Model. The URL MUST reference an XML file which describes the appropriate part of the Supported Data Model. The referenced XML file MUST be compliant with the DT (Device Type) Schema that is described in [<a href="#R.TR-106">Annex B/TR-106</a>], including any additional normative requirements referenced within the Schema. The XML file referenced by this URL MUST NOT change while the CPE is running, and SHOULD NOT change across a CPE reboot. Note that <a href="#D.Device:2.Device.DeviceInfo.SupportedDataModel.UUID"><em>UUID</em></a> is a unique key, so the XML file referenced by this URL will never change. The XML file MAY be located within the CPE. In this scenario the CPE MAY use the value of &ldquo;localhost&rdquo; as URL host portion, When the &ldquo;localhost&rdquo; value is used, the ACS has the responsibility to substitute the &ldquo;localhost&rdquo; value with the host portion of the connection request URL. Behavior in the event of an invalid URL, failure to access the referenced XML file, or an invalid XML file, is implementation-dependent.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:256)</em> syntax</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UserInterface.">Device.UserInterface.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to the user interface of the CPE.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UserInterface.ISPHomePage">ISPHomePage</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the ISP’s home page.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UserInterface.ISPHelpPage">ISPHelpPage</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the ISP’s on-line support page.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UserInterface.ISPMailServer">ISPMailServer</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the ISP’s mail server.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UserInterface.ISPNewsServer">ISPNewsServer</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the ISP’s news server.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.">Device.DSL.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object models DSL lines, DSL channels, DSL bonding, and DSL diagnostics. The specific interface objects defined here are <a href="#D.Device:2.Device.DSL.Line."><em>Line</em></a>, <a href="#D.Device:2.Device.DSL.Channel."><em>Channel</em></a>, and <a href="#D.Device:2.Device.DSL.BondingGroup."><em>BondingGroup</em></a>. Each <a href="#D.Device:2.Device.DSL.Line."><em>Line</em></a> models a layer 1 DSL Line interface, and each <a href="#D.Device:2.Device.DSL.Channel."><em>Channel</em></a> models a layer 1 DSL Channel interface where multiple channels can run over a DSL line. In the case where bonding is configured, it is expected that <a href="#D.Device:2.Device.DSL.BondingGroup."><em>BondingGroup</em></a> is stacked above the <a href="#D.Device:2.Device.DSL.Channel."><em>Channel</em></a> instances within its group.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.">Device.DSL.Line.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DSL Line table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
This table models physical DSL lines.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DSL.Line.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DSL.Line.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.DSL.Line.StandardsSupported">StandardsSupported</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. List items indicate which DSL standards and recommendations are supported by the <a href="#D.Device:2.Device.DSL.Line."><em>Line</em></a> instance. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.1_Annex_A"><em>G.992.1_Annex_A</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.1_Annex_B"><em>G.992.1_Annex_B</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.1_Annex_C"><em>G.992.1_Annex_C</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.T1.413"><em>T1.413</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.T1.413i2"><em>T1.413i2</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.ETSI_101_388"><em>ETSI_101_388</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.2"><em>G.992.2</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.3_Annex_A"><em>G.992.3_Annex_A</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.3_Annex_B"><em>G.992.3_Annex_B</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.3_Annex_C"><em>G.992.3_Annex_C</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.3_Annex_I"><em>G.992.3_Annex_I</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.3_Annex_J"><em>G.992.3_Annex_J</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.3_Annex_L"><em>G.992.3_Annex_L</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.3_Annex_M"><em>G.992.3_Annex_M</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.4"><em>G.992.4</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.5_Annex_A"><em>G.992.5_Annex_A</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.5_Annex_B"><em>G.992.5_Annex_B</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.5_Annex_C"><em>G.992.5_Annex_C</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.5_Annex_I"><em>G.992.5_Annex_I</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.5_Annex_J"><em>G.992.5_Annex_J</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.992.5_Annex_M"><em>G.992.5_Annex_M</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.993.1"><em>G.993.1</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.993.1_Annex_A"><em>G.993.1_Annex_A</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.993.2_Annex_A"><em>G.993.2_Annex_A</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.993.2_Annex_B"><em>G.993.2_Annex_B</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.StandardsSupported.G.993.2_Annex_C"><em>G.993.2_Annex_C</em></span>
Note: In G.997.1, this parameter is called &ldquo;xDSL Transmission system capabilities&rdquo;. See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>]. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because its entries are out-of-date; <a href="#D.Device:2.Device.DSL.Line.XTSE"><em>XTSE</em></a> points to a current list. Therefore its value MAY be an empty string if (and only if) <a href="#D.Device:2.Device.DSL.Line.XTSE"><em>XTSE</em></a> is supported.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span></li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.DSL.Line.StandardUsed">StandardUsed</span></td>
<td>string</td>
<td>R</td>
<td>The value MUST be a member of the list reported by the <a href="#D.Device:2.Device.DSL.Line.StandardsSupported"><em>StandardsSupported</em></a> parameter. Indicates the standard that the <a href="#D.Device:2.Device.DSL.Line."><em>Line</em></a> instance is using for the connection. Note: In G.997.1, this parameter is called &ldquo;xDSL Transmission system&rdquo;. See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>]. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because its entries are out-of-date; <a href="#D.Device:2.Device.DSL.Line.XTSE"><em>XTSE</em></a> points to a current list. Therefore its value MAY be an empty string if (and only if) <a href="#D.Device:2.Device.DSL.Line.XTSUsed"><em>XTSUsed</em></a> is supported.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.Stats.">Device.DSL.Line.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface.
The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.DSL.Line.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s <a href="#D.Device:2.Device.DSL.Line.Enable"><em>Enable</em></a> parameter transitions from <em>false</em> to <em>true</em>). Administrative and operational interface status is discussed in [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.Stats.Total.">Device.DSL.Line.{i}.Stats.Total.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL line total statistics. See [<a href="#R.G.997.1">Chapter 7.2.6/G.997.1</a>].
Note: The <em>Total</em> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.Total.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (ES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.Total.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (SES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.Stats.Showtime.">Device.DSL.Line.{i}.Stats.Showtime.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL line statistics accumulated since the most recent DSL Showtime. See [<a href="#R.G.997.1">Chapter 7.2.6/G.997.1</a>].
Note: The <em>Showtime</em> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.Showtime.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the most recent DSL Showtime (ES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.Showtime.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the most recent DSL Showtime (SES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.Stats.LastShowtime.">Device.DSL.Line.{i}.Stats.LastShowtime.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL line statistics accumulated since the second most recent DSL Showtime. See [<a href="#R.G.997.1">Chapter 7.2.6/G.997.1</a>].
Note: The <em>LastShowtime</em> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.LastShowtime.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the second most recent DSL Showtime (ES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.LastShowtime.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the second most recent DSL Showtime (SES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.Stats.CurrentDay.">Device.DSL.Line.{i}.Stats.CurrentDay.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL line statistics accumulated during the current day. See [<a href="#R.G.997.1">Chapter 7.2.6/G.997.1</a>].
Note: The <em>CurrentDay</em> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.CurrentDay.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the second most recent DSL Showtime (ES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.CurrentDay.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the second most recent DSL Showtime (SES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.Stats.QuarterHour.">Device.DSL.Line.{i}.Stats.QuarterHour.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL line statistics accumulated during the current quarter hour. See [<a href="#R.G.997.1">Chapter 7.2.6/G.997.1</a>].
Note: The <em>QuarterHour</em> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.QuarterHour.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the second most recent DSL Showtime (ES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Stats.QuarterHour.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> since the second most recent DSL Showtime (SES-L as defined in ITU-T Rec. [<a href="#R.G.997.1">G.997.1</a>]). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Diagnostics.">Device.DSL.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The DSL Diagnostics object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTUER.">Device.DSL.Diagnostics.SELTUER.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL Single Ended Line Test - Physical Medium Dependent (SELT-PMD) Uncalibrated Echo Response (UER) diagnostics parameters.
This object is for the CPE, aka the Transmission Unit - Remote end (TU-R).
Reference: ITU-T Recommendation [<a href="#R.G.996.2">Clause A.2, SELT-PMD management entity/G.996.2</a>].</td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTUER.UER">UER</span></td>
<td><span title="UERComplex[1:4096]">int[2:2][1:4096]</span></td>
<td>R</td>
<td>The Uncalibrated Echo Response (UER) [a(0),b(0)], [a(1),b(1)], … Comma-separated list (1 to 4096 items) of UERComplexs, with each list item consisting <span class="removed">of:</span><span class="inserted">of the following</span>. [<a href="#T.UERComplex">UERComplex</a>] Pair of 32-bit signed integers a(i),b(i) with each pair representing a complex component of the uncalibrated echo response (UER);

<ol>
<li>Real UER component, a(i)</li>
<li>Imaginary UER component, b(i)
for values of i starting at i=0. Both values are represented as signed integers.
The interpretation of the UER value is as defined in [<a href="#R.G.996.2">Clause A.2.2.1/G.996.2</a>]. The value of UER at frequency i*<a href="#D.Device:2.Device.DSL.Diagnostics.SELTUER.UERGroupSize"><em>UERGroupSize</em></a><em>Df = (<a href="#D.Device:2.Device.DSL.Diagnostics.SELTUER.UERScaleFactor"><em>UERScaleFactor</em></a>/(2^31))</em>(a(i)+j*b(i))/(2^31) where Df = 4.3125 kHz. This parameter is defined as CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation [<a href="#R.G.996.2">Clause A.2.2.1/G.996.2</a>].</li></ol></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTUER.UERScaleFactor">UERScaleFactor</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The Uncalibrated Echo Response (UER) scale factor. This parameter is defined as part of the CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation [<a href="#R.G.996.2">Clause A.2.2.1/G.996.2</a>].<span class="inserted"> Note that the scale factor is chosen such that max(abs(a(i)), abs(b(i))) over all i is equal to 2^31 - 1, which doesn’t allow <em>UERScaleFactor</em> to be zero.</span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTUER.UERGroupSize">UERGroupSize</span></td>
<td>unsignedInt(1:2,12)</td>
<td>R</td>
<td>The Uncalibrated Echo Response (UER) group size, UER_G. In units of <em>subcarriers</em>. This parameter is defined as part of the CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation [<a href="#R.G.996.2">Clause <span class="inserted">A.2.2.2</span>/G.996.2</a>].</td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTQLN.">Device.DSL.Diagnostics.SELTQLN.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL Single Ended Line Test - Physical Medium Dependent (SELT-PMD) Quiet Line Noise (QLN) diagnostics parameters.
This object is for the CPE, aka the Transmission Unit - Remote end (TU-R).
Reference: ITU-T Recommendation [<a href="#R.G.996.2">Clause A.2, SELT-PMD management entity/G.996.2</a>].</td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTQLN.QLNGroupSize">QLNGroupSize</span></td>
<td>unsignedInt(1:2,12)</td>
<td>R</td>
<td>This parameter represents the Quiet Line Noise (QLN) group size. In units of <em>subcarriers</em>. This parameter is defined as part of the SELT_QLN_R in ITU-T Recommendation [<a href="#R.G.996.2">Clause <span class="inserted">A.2.2.4</span>/G.996.2</a>].</td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTP.">Device.DSL.Diagnostics.SELTP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL Single-Ended Line Test - Processed (SELT-P) diagnostics parameters.
This object is for the CPE, aka the Transmission Unit - Remote end (TU-R).
Reference: ITU-T Recommendation [<a href="#R.G.996.2">G.996.2</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.DSL.Diagnostics.SELTP.TFlogGroupSize"><em>TFlogGroupSize</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTP.CapacitySignalPSD">CapacitySignalPSD</span></td>
<td><span title="PSDBreakPointIndexAndLevel[1:48]">unsignedInt[2:2][1:48]</span></td>
<td>W</td>
<td>The capacity estimate signal Power Spectral Density (PSD): Comma-separated list (1 to 48 items) of PSDBreak Point Index And Levels, with each list item consisting <span class="removed">of:</span><span class="inserted">of the following</span>. [<a href="#T.PSDBreakPointIndexAndLevel">PSDBreakPointIndexAndLevel</a>] 1. the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:8191] with Df = 4.3125 kHz frequency spacing, and

<ol>
<li>the value of the level of the PSD at this sub-carrier expressed in <em>0.1 dBm/Hz</em> with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz.
Both values are represented as unsignedInt. This capacity estimate signal PSD parameter is defined in ITU-T Recommendation [<a href="#R.G.996.2">Clause B.2.1.2/G.996.2</a>].</li></ol></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTP.CapacityNoisePSD">CapacityNoisePSD</span></td>
<td><span title="PSDBreakPointIndexAndLevel[1:48]">unsignedInt[2:2][1:48]</span></td>
<td>W</td>
<td>The capacity estimate noise Power Spectral Density (PSD): Comma-separated list (1 to 48 items) of PSDBreak Point Index And Levels, with each list item consisting <span class="removed">of:</span><span class="inserted">of the following</span>. [<a href="#T.PSDBreakPointIndexAndLevel">PSDBreakPointIndexAndLevel</a>] 1. the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:8191] with Df = 4.3125 kHz frequency spacing, and

<ol>
<li>the value of the level of the PSD at this sub-carrier expressed in <em>0.1 dBm/Hz</em> with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz.
Both values are represented as unsignedInt. This capacity estimate noise PSD parameter is defined in ITU-T Recommendation [<a href="#R.G.996.2">Clause B.2.1.3/G.996.2</a>].</li></ol></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTP.LoopTermination">LoopTermination</span></td>
<td>string</td>
<td>R</td>
<td>Loop termination <span class="removed">indicator,</span><span class="inserted">indicator.</span> <span class="removed">one of the following state indications: &lsquo;Open&rsquo; &lsquo;Short&rsquo; &lsquo;Powered on DSLAM/DPU&rsquo; &lsquo;Unknown&rsquo;</span><span class="inserted"><strong>{{enum: only valid as argument}}</strong></span> This parameter is defined as LOOP-TERM in ITU-T Recommendation [<a href="#R.G.996.2">Clause B.1.1.1/G.996.2</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed string <em>:21</em> size</li>
<li>Added string <em>Open</em> enumeration</li>
<li>Added string <em>Short</em> enumeration</li>
<li>Added string <em>Powered on DSLAM/DPU</em> enumeration</li>
<li>Added string <em>Powered on CPE</em> enumeration</li>
<li>Added string <em>Unknown</em> enumeration</li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTP.AttenuationCharacteristics">AttenuationCharacteristics</span></td>
<td><span title="SELTPAttenuationCharacteristicsIndexAndTFlog[0:8191]">unsignedInt[2:2][0:8191]</span></td>
<td>R</td>
<td><p><span class="removed">Comma-separated list (0 to 8191 items) of SELTPAttenuation Characteristics Index And TFlogs. List items represent paired frequency spacing index i and transfer function log value, i.e. [i,TFlog(i * Df)], where</span><span class="inserted">Specifies</span> the <span class="removed">reference</span><span class="inserted">list</span> <span class="removed">frequency</span><span class="inserted">of</span> <span class="removed">spacing</span><span class="inserted">attenuation</span> <span class="removed">Df</span><span class="inserted">characteristics.</span> <span class="removed">=</span><span class="inserted">Comma-separated list (0 to 8191 items) of SELTPAttenuation Characteristics Index And TFlogs, with. <span class="removed">4.3125</span><span class="inserted">each</span> <span class="removed">kHz,</span><span class="inserted">list item consisting of</span> the <span class="removed">index</span><span class="inserted">following</span></span> <span class="removed">i valid range is 0 to 8191, and</span></p>

<div class="inserted"><p>[<a href="#T.SELTPAttenuationCharacteristicsIndexAndTFlog">SELTPAttenuationCharacteristicsIndexAndTFlog</a>] 1. The paired frequency spacing index in the range [0:8191], and</p>

<ol>
<li>The transfer function log value, i.e. [i, TFlog(i * <a href="#D.Device:2.Device.DSL.Diagnostics.SELTP.TFlogGroupSize"><em>TFlogGroupSize</em></a> * Df)], where the reference frequency spacing Df = 4.3125 kHz, the index i valid range is 0 to 8191, and TFlog(i * <a href="#D.Device:2.Device.DSL.Diagnostics.SELTP.TFlogGroupSize"><em>TFlogGroupSize</em></a> * Df) spans a range from +6.0 dB down to -96.2 dB with units of 0.1 dB.
Both values are represented as unsignedInt.</li></ol></div>

<p>TFlog(i * <span class="inserted"><a href="#D.Device:2.Device.DSL.Diagnostics.SELTP.TFlogGroupSize"><em>TFlogGroupSize</em></a> * </span>Df) <span class="removed">spans</span><span class="inserted">is</span> <span class="removed">a</span><span class="inserted">represented by an integer k, 0 &lt;= k &lt;= 1022, where TFlog(i * <a href="#D.Device:2.Device.DSL.Diagnostics.SELTP.TFlogGroupSize"><em>TFlogGroupSize</em></a> * Df) = 6.0 - k * 0.1. The special value of k of 1023 is used to indicate that no measurement could be done for this subcarrier because the attenuation is out of the</span> range <span class="removed">from</span><span class="inserted">that</span> <span class="removed">+6.0</span><span class="inserted">can</span> <span class="removed">dB</span><span class="inserted">be</span> <span class="removed">down to -96.2 dB with units of 0.1 dB.</span><span class="inserted">represented.</span> The <span class="removed">Attenuation</span><span class="inserted">attenuation</span> characteristics TFlog(f) parameter is defined in ITU-T Recommendation [<a href="#R.G.996.2">Clause B.1.1.6/G.996.2</a>].</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <em>[0:8191]</em> list minItems = <em>0</em></li>
<li>Added <em>[0:8191]</em> list maxItems = <em>8191</em></li>
<li>Added <em>[0:8191]</em> list nestedBrackets = <em>required</em></li>
<li>Removed <em><a href=":61430"></a></em> list <em>:61430</em> size</li>
<li>Changed syntax = <em>string<a href=":61430"></a></em> -&gt; <em>SELTPAttenuationCharacteristicsIndexAndTFlog[0:8191]</em></li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTP.TFlogGroupSize">TFlogGroupSize</span></td>
<td>unsignedInt(1:2,12)</td>
<td>R</td>
<td>This parameter represents the Transfer Function Log (TFlog) group size. In units of <em>subcarriers</em>.
This parameter is defined as part of the SELT attenuation characteristics, <a href="#D.Device:2.Device.DSL.Diagnostics.SELTP.AttenuationCharacteristics"><em>AttenuationCharacteristics</em></a>, defined in ITU-T Recommendation [<a href="#R.G.996.2">Clause B.1.1.6/G.996.2</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.SELTP.CapacityEstimate">CapacityEstimate</span></td>
<td>unsignedInt[1:2]</td>
<td>R</td>
<td>Capacity Estimate: <span class="inserted">Comma-separated list (1 to 2 items) of unsigned integers. </span>This parameter <span class="removed">is an unsigned integer representing</span><span class="inserted">represents</span> the <span class="inserted">downstream and/or upstream </span>capacity <span class="removed">estimate</span><span class="inserted">estimates</span> in <span class="removed">kbit/s,</span><span class="inserted"><em>kbit/s</em>.</span> <span class="removed">with</span><span class="inserted">If</span> <span class="removed">units</span><span class="inserted">only one value is supplied, then it’s not specified whether it’s the downstream value, the upstream value or some combination</span> of <span class="removed"><em>kbit/s</em>.</span><span class="inserted">the two. If two values are supplied, then the first is the downstream value and the second is the upstream value.</span> The capacity estimate <span class="removed">parameter</span><span class="inserted">parameters</span> <span class="removed">is</span><span class="inserted">are</span> defined in [<a href="#R.G.996.2">Clause B.1.1.7/G.996.2</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <em>unsignedInt[1:2]</em> syntax <em>[1:2]</em> list</li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.">Device.FAST.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object models FAST (defined in ITU Recommendation [<a href="#R.G.9701">G.9701</a>]) lines. Each <a href="#D.Device:2.Device.FAST.Line."><em>Line</em></a> models a layer 1 FAST Line interface.</td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.Line.">Device.FAST.Line.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>FAST Line table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
This table models physical FAST lines.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.FAST.Line.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.FAST.Line.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.Line.Stats.">Device.FAST.Line.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface.
The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.FAST.Line.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s <a href="#D.Device:2.Device.FAST.Line.Enable"><em>Enable</em></a> parameter transitions from <em>false</em> to <em>true</em>). Administrative and operational interface status is discussed in [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>].</td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Total.">Device.FAST.Line.{i}.Stats.Total.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains DSL line total statistics.
Note: The <em>Total</em> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Total.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Total.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Total.LOSS">LOSS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of signal <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LOSS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LOSS is declared if, during a 1-second interval, there are one or more los defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Total.LORS">LORS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of RMC <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LORS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LORS is declared if, during a 1-second interval, there are one or more lor defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Total.UAS">UAS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of unavailable <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (UAS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Showtime.">Device.FAST.Line.{i}.Stats.Showtime.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains FAST line statistics since the most recent showtime.
Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Showtime.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Showtime.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Showtime.LOSS">LOSS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of signal <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LOSS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LOSS is declared if, during a 1-second interval, there are one or more los defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Showtime.LORS">LORS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of RMC <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LORS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LORS is declared if, during a 1-second interval, there are one or more lor defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.Showtime.UAS">UAS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of unavailable <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (UAS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.Line.Stats.LastShowtime.">Device.FAST.Line.{i}.Stats.LastShowtime.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains FAST line statistics since the second most recent showtime.
Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.LastShowtime.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.LastShowtime.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.LastShowtime.LOSS">LOSS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of signal <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LOSS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LOSS is declared if, during a 1-second interval, there are one or more los defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.LastShowtime.LORS">LORS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of RMC <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LORS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LORS is declared if, during a 1-second interval, there are one or more lor defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.LastShowtime.UAS">UAS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of unavailable <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (UAS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.Line.Stats.CurrentDay.">Device.FAST.Line.{i}.Stats.CurrentDay.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains FAST line statistics accumulated during the current day.
Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.CurrentDay.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.CurrentDay.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.CurrentDay.LOSS">LOSS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of signal <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LOSS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LOSS is declared if, during a 1-second interval, there are one or more los defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.CurrentDay.LORS">LORS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of RMC <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LORS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LORS is declared if, during a 1-second interval, there are one or more lor defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.CurrentDay.UAS">UAS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of unavailable <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (UAS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAST.Line.Stats.QuarterHour.">Device.FAST.Line.{i}.Stats.QuarterHour.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains FAST line statistics accumulated during the current quarter hour.
Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.</td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.QuarterHour.ErroredSecs">ErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.QuarterHour.SeverelyErroredSecs">SeverelyErroredSecs</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of severely errored <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.QuarterHour.LOSS">LOSS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of signal <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LOSS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LOSS is declared if, during a 1-second interval, there are one or more los defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.QuarterHour.LORS">LORS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of loss of RMC <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (LORS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>]. A LORS is declared if, during a 1-second interval, there are one or more lor defects.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAST.Line.Stats.QuarterHour.UAS">UAS</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of unavailable <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> (UAS) as defined in ITU-T Rec. [<a href="#R.G.997.2">G.997.2</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added unsignedInt <em>seconds</em> units</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Optical.">Device.Optical.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object models optical interface technologies. It defines an <a href="#D.Device:2.Device.Optical.Interface."><em>Interface</em></a> object that models a layer 1 optical interface that is capable of transporting Ethernet packets. The data model definition is based on parts of [<a href="#R.G.988">G.988</a>].</td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Optical.Interface.">Device.Optical.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Optical interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). This table models physical optical interfaces.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.Optical.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Optical.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Optical.Interface.TransmitOpticalLevel">TransmitOpticalLevel</span></td>
<td><span title="Dbm1000">int</span></td>
<td>R</td>
<td>Current measurement of mean optical launch power. [<a href="#T.Dbm1000">Dbm1000</a>] The value is measured in <em>dBm/1000</em>, i.e. the value divided by 1000 is
dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm
(1 mW) and 12345 means 12.345 dBm. Valid values are <span class="removed">-127.5</span><span class="inserted">-65.536</span> dBm (coded as <span class="removed">-127500)</span><span class="inserted">-65536),</span> to <span class="removed">0</span><span class="inserted">65.534</span> dBm (coded as <span class="removed">0)</span><span class="inserted">65534)</span> in <span class="removed">0.5</span><span class="inserted">0.002</span> dB increments.<span class="removed"> The value -127500 indicates the device’s internal policy.</span> This parameter is based on <em>Transmit optical level</em> from [<a href="#R.G.988">Section 9.2.1/G.988</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed <em>-65536:65533:2</em> range minInclusive = <em>-127000</em> ⇒ <em>-65536</em></li>
<li>Changed <em>-65536:65533:2</em> range maxInclusive = <em>0</em> ⇒ <em>65534</em></li>
<li>Changed <em>-65536:65533:2</em> range step = <em>500</em> ⇒ <em>2</em></li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Cellular.">Device.Cellular.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object models cellular interfaces and access points.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Cellular.Interface.">Device.Cellular.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Cellular interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each instance of this object models a cellular modem with a single radio and a single <a href="#D.Device:2.Device.Cellular.Interface.USIM."><em>USIM</em></a>.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.Cellular.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Cellular.Interface.Name"><em>Name</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.Cellular.Interface.RSRP"><em>RSRP</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.Cellular.Interface.RSRQ"><em>RSRQ</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies">SupportedAccessTechnologies</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. Access technologies supported by the interface.</p>

<p>Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.GPRS"><em>GPRS</em></span> (GSM with GPRS)</li>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.EDGE"><em>EDGE</em></span> (GSM with EDGE)</li>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.UMTS"><em>UMTS</em></span></li>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.UMTSHSPA"><em>UMTSHSPA</em></span> (UMTS with High Speed Packet Access (HSPA [<a href="#R.3GPP-HSPA">3GPP-HSPA</a>]))</li>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.CDMA2000OneX"><em>CDMA2000OneX</em></span></li>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.CDMA2000HRPD"><em>CDMA2000HRPD</em></span></li>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.LTE"><em>LTE</em></span></li>
<li><span id="D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.NR"><em>NR</em></span> (5G New Radio)</li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added string <em>NR</em> enumeration</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Cellular.Interface.RSSI">RSSI</span></td>
<td>int</td>
<td>R</td>
<td><p>The received signal strength in <em>dBm</em>. The allowed values depend on <a href="#D.Device:2.Device.Cellular.Interface.CurrentAccessTechnology"><em>CurrentAccessTechnology</em></a>: * For <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.GPRS"><em>GPRS</em></a>, <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.EDGE"><em>EDGE</em></a> the range is -111 <em>dBm</em> to -49 <em>dBm</em> * For <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.UMTS"><em>UMTS</em></a>, <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.UMTSHSPA"><em>UMTSHSPA</em></a> the range is -117 <em>dBm</em> to -54 <em>dBm</em> * For <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.LTE"><em>LTE</em></a><span class="inserted">, <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.NR"><em>NR</em></a></span> the range is -117 <em>dBm</em> to -25 <em>dBm</em> Note: An undetectable signal is indicated by the appropriate lower limit, e.g. -117 <em>dBm</em> for LTE.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Cellular.Interface.RSRP">RSRP</span></td>
<td>int</td>
<td>R</td>
<td><p>The Reference Signal Received Power in <em>dBm</em> for <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.LTE"><em>LTE</em></a>, <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.NR"><em>NR</em></a> values of <a href="#D.Device:2.Device.Cellular.Interface.CurrentAccessTechnology"><em>CurrentAccessTechnology</em></a>:</p>

<ul>
<li>The valid range of RSRP values from worst to best is -140 <em>dBm</em> to -44 <em>dBm</em></li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Cellular.Interface.RSRQ">RSRQ</span></td>
<td>int</td>
<td>R</td>
<td><p>The Reference Signal Received Quality in <em>dBm</em> for <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.LTE"><em>LTE</em></a>, <a href="#D.Device:2.Device.Cellular.Interface.SupportedAccessTechnologies.NR"><em>NR</em></a> values of <a href="#D.Device:2.Device.Cellular.Interface.CurrentAccessTechnology"><em>CurrentAccessTechnology</em></a>:</p>

<ul>
<li>RSRQ is calculated using RSSI and RSRP values using RSRQ = (N*RSRP)/RSSI where N is the number of resource blocks (bandwidth).</li>
<li>The valid range of RSRP values from worst to best is -20 <em>dBm</em> to -3 <em>dBm</em></li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ethernet.">Device.Ethernet.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Ethernet object. This object models several Ethernet interface objects, each representing a different stack layer, including: <a href="#D.Device:2.Device.Ethernet.Interface."><em>Interface</em></a>, <a href="#D.Device:2.Device.Ethernet.Link."><em>Link</em></a>, and <a href="#D.Device:2.Device.Ethernet.VLANTermination."><em>VLANTermination</em></a>. <a href="#D.Device:2.Device.Ethernet.Interface."><em>Interface</em></a> is media-specific and models a port, the PHY layer, and the MAC layer. <a href="#D.Device:2.Device.Ethernet.Link."><em>Link</em></a> is media-independent and models the Logical Link Control (LLC) layer. An &ldquo;outer&rdquo; <a href="#D.Device:2.Device.Ethernet.VLANTermination."><em>VLANTermination</em></a>, when present, is expected to be stacked on top of <a href="#D.Device:2.Device.Ethernet.Link."><em>Link</em></a> objects to receive and send frames with a configured VLANID.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.Ethernet.FlowControlSupported"><em>FlowControlSupported</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.FlowControlSupported">FlowControlSupported</span></td>
<td>boolean</td>
<td>R</td>
<td>Indicates that Flow Control over Ethernet is supported, as per [<a href="#R.802.3-2015">802.3-2015</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ethernet.Link.">Device.Ethernet.Link.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Ethernet link layer table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Table entries model the Logical Link Control (LLC) layer. It is expected that an <em>Ethernet Link</em> interface can be stacked above any lower-layer interface object capable of carrying Ethernet frames.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Ethernet.Link.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Ethernet.Link.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.Ethernet.Link.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.Ethernet.Link.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.Ethernet.Link.MACAddress"><em>MACAddress</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.Ethernet.Link.FlowControl"><em>FlowControl</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.Link.FlowControl">FlowControl</span></td>
<td>boolean</td>
<td>W</td>
<td>Configures Flow Control on given Ethernet port. When set to <em>true</em>, it activates the exchange of pause-resume flow control frames.</td>
<td>false</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.">Device.Ghn.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>G.hn object that contains an <a href="#D.Device:2.Device.Ghn.Interface."><em>Interface</em></a> table for G.hn supported CPE. The ITU-T G.hn specifications [<a href="#R.G.9960">G.9960</a>] and [<a href="#R.G.9961">G.9961</a>] define Physical and MAC Layers for communication between two or more G.hn nodes in the home network over multiple wired media such as power line, phone line and coaxial cable.</td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.Interface.">Device.Ghn.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>G.hn interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each table entry models the PHY [<a href="#R.G.9960">G.9960</a>] and MAC [<a href="#R.G.9961">G.9961</a>] layers of a G.hn interface.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.Ghn.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Ghn.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.ConnectionType">ConnectionType</span></td>
<td>string</td>
<td>R</td>
<td><p>This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because it has been replaced by <a href="#D.Device:2.Device.Ghn.Interface.MediumType"><em>MediumType</em></a>.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span></p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Ghn.Interface.ConnectionType.Powerline"><em>Powerline</em></span></li>
<li><span id="D.Device:2.Device.Ghn.Interface.ConnectionType.Phone"><em>Phone</em></span></li>
<li><span id="D.Device:2.Device.Ghn.Interface.ConnectionType.Coax"><em>Coax</em></span></li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.PSM">PSM</span></td>
<td><span title="PSMBreakPointIndexAndLevel[2:32]">unsignedInt[2:2][2:32]</span></td>
<td>W</td>
<td>Specifies the list of PSD shaping mask (PSM) breakpoints to be applied to the G.hn interface. Comma-separated list (2 to 32 items) of PSMBreak Point Index And Levels, with each list item consisting <span class="removed">of:</span><span class="inserted">of the following</span>. [<a href="#T.PSMBreakPointIndexAndLevel">PSMBreakPointIndexAndLevel</a>] 1. The PSM breakpoint sub-carrier index in the range [0:4095], and

<ol>
<li>the value of the level of the PSM at this sub-carrier expressed in <em>0.1 dBm/Hz</em> with an offset of -140 dBm/Hz.
Both values are represented as unsignedInt.
[<a href="#R.G.9964">Clause 5.2/G.9964</a>] defines limits on PSM breakpoint levels. The PSM level is 0.1*(the value of the level of the PSM) - 140 dBm/Hz. For example, a PSM defined by two breakpoints (subcarrier 450, PSM level -80 dBm/Hz) and (subcarrier 1050, PSM level -90 dBm/Hz) is represented by PSM [450,600],[1050,500] .</li></ol></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.">Device.WiFi.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The WiFi object is based on the WiFi Alliance 802.11 specifications ([<a href="#R.802.11-2007">802.11-2007</a>]). It defines interface objects (<a href="#D.Device:2.Device.WiFi.Radio."><em>Radio</em></a> and <a href="#D.Device:2.Device.WiFi.SSID."><em>SSID</em></a>), and application objects (<a href="#D.Device:2.Device.WiFi.AccessPoint."><em>AccessPoint</em></a> and <a href="#D.Device:2.Device.WiFi.EndPoint."><em>EndPoint</em></a>).

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.ResetCause"><em>ResetCause</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.ResetCause">ResetCause</span></td>
<td>string</td>
<td>R</td>
<td><p>Reports the cause for the previous Wi-Fi driver reset.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.ResetCause.HostReinit"><em>HostReinit</em></span> (Indicates that the host processor intentionally performed the reset. This can be due to an external instruction)</li>
<li><span id="D.Device:2.Device.WiFi.ResetCause.SpontaneousInterrupt"><em>SpontaneousInterrupt</em></span> (Indicates that the reset was spontaneous. This can be due to an error condition)</li>
<li><span id="D.Device:2.Device.WiFi.ResetCause.LossOfPower"><em>LossOfPower</em></span> (Indicates that the reset was due to a loss of mains power on the device)</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.MultiAP.">Device.WiFi.MultiAP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object describes a Wi-Fi network containing 1 or more Access Point devices.
This object is related to a Wi-Fi network that contains multiple Access Points (Multi-AP) and utilizes software logic to optimize that Wi-Fi network (typically via steering STAs, also known as Associated Devices, to the best Access Point). This object exposes the view of the Wi-Fi netwtork from the perspective of the Multi-AP Controller. The Wi-Fi Alliance EasyMesh solution is one example of managing a Multi-AP network.</td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.">Device.WiFi.MultiAP.APDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Each instance of this object represents an individual Access Point device in the Wi-Fi network.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.MACAddress"><em>MACAddress</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.RadarDetections"><em>RadarDetections</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.DFSEnable"><em>DFSEnable</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.ProductClass">ProductClass</span></td>
<td>string(:64)</td>
<td>R</td>
<td>Identifier of the class of product for which the serial number applies. That is, for a given manufacturer, this parameter is used to identify the product or class of product over which the <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.SerialNumber"><em>SerialNumber</em></a> parameter is unique. This value MUST remain fixed over the lifetime of the device, including across firmware updates.<span class="removed"> Any change would indicate that it’s a new device and would therefore require a BOOTSTRAP Inform.</span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.SerialNumber">SerialNumber</span></td>
<td>string(:64)</td>
<td>R</td>
<td>Identifier of the particular Access Point device that is unique for the indicated class of product and manufacturer. This value MUST remain fixed over the lifetime of the device, including across firmware updates.<span class="removed"> Any change would indicate that it’s a new device and would therefore require a BOOTSTRAP Inform.</span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.RadarDetections">RadarDetections</span></td>
<td>unsignedInt[](:1024)</td>
<td>R</td>
<td>Comma-separated list (maximum number of characters 1024) of unsigned integers. List items represent channels in the non-occupancy list due to radars detected by Dynamic Frequency Selection (DFS) Channel Availability Check (CAC).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.DFSEnable">DFSEnable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables Dynamic Frequency Selection (DFS).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.">Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents all of the individual Radios contained within the identified Access Point device known to the controller.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.MACAddress"><em>MACAddress</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.PossibleChannels"><em>PossibleChannels</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.TransmitPowerLimit"><em>TransmitPowerLimit</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards">OperatingStandards</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. List items indicate which IEEE 802.11 standard this <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio."><em>Radio</em></a> instance is configured for. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.a"><em>a</em></span> ([<a href="#R.802.11a-1999">802.11a-1999</a>])</li>
<li><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.b"><em>b</em></span> ([<a href="#R.802.11b-1999">802.11b-1999</a>])</li>
<li><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.g"><em>g</em></span> ([<a href="#R.802.11g-2003">802.11g-2003</a>])</li>
<li><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.n"><em>n</em></span> ([<a href="#R.802.11n-2009">802.11n-2009</a>])</li>
<li><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.ac"><em>ac</em></span> ([<a href="#R.802.11ac-2013">802.11ac-2013</a>])</li>
<li><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.ax"><em>ax</em></span> ([<a href="#R.802.11ax">802.11ax</a>])
<span class="removed">Each value indicates support for the indicated standard. </span>If <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingFrequencyBand"><em>OperatingFrequencyBand</em></a> is set to <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingFrequencyBand.2.4GHz"><em>2.4GHz</em></a>, only values <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.b"><em>b</em></a>, <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.g"><em>g</em></a>, <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.n"><em>n</em></a>, <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.ax"><em>ax</em></a> are applicable. If <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingFrequencyBand"><em>OperatingFrequencyBand</em></a> is set to <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingFrequencyBand.5GHz"><em>5GHz</em></a>, only values <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.a"><em>a</em></a>, <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.n"><em>n</em></a>, <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.ac"><em>ac</em></a>, <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingStandards.ax"><em>ax</em></a> are applicable. For example, a value of &ldquo;g,b&rdquo; (or &ldquo;b,g&rdquo; - order is not important) means that the 802.11g standard [<a href="#R.802.11g-2003">802.11g-2003</a>] is used with a backwards-compatible mode for 802.11b [<a href="#R.802.11b-1999">802.11b-1999</a>]. A value of &ldquo;g&rdquo; means that only the 802.11g standard is in use.</li></ul></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.Channel">Channel</span></td>
<td>unsignedInt(1:255)</td>
<td>W</td>
<td>The current radio channel used by the connection.<span class="inserted"> To request automatic channel selection, set <a href="#D.Device:2.Device.WiFi.Radio.AutoChannelEnable"><em>Device.WiFi.Radio.{i}.AutoChannelEnable</em></a> to <em>true</em>. Whenever <a href="#D.Device:2.Device.WiFi.Radio.AutoChannelEnable"><em>Device.WiFi.Radio.{i}.AutoChannelEnable</em></a> is <em>true</em>, the value of the <em>Channel</em> parameter MUST be the channel selected by the automatic channel selection procedure. For channels in &ldquo;wide mode&rdquo; (where a channel bandwidth strictly greater than 20 MHz is used), this parameter is used for Primary Channel only. The secondary or extension channel information is available through <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.ExtensionChannel"><em>ExtensionChannel</em></a>. Note: Valid <em>Channel</em> values depend on the <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.OperatingFrequencyBand"><em>OperatingFrequencyBand</em></a> value specified and the regulatory domain.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed access = <em>readOnly</em> ⇒ <em>readWrite</em></li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.PossibleChannels">PossibleChannels</span></td>
<td>string[](:1024)</td>
<td>R</td>
<td>Comma-separated list (maximum number of characters 1024) of strings. List items represent possible radio channels for the wireless standard (a, b, g, n, ac, ax) and the regulatory domain.
Ranges in the form &ldquo;n-m&rdquo; are permitted.
For example, for 802.11b and North America, would be &ldquo;1-11&rdquo;.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.TransmitPowerLimit">TransmitPowerLimit</span></td>
<td>int(-90:36)</td>
<td>W</td>
<td>Indicates the maximum Effective Isotropic Radiated Power (EIRP) per 20 MHz bandwidth representing the nominal transmit power limit for this radio. The field is coded in units of <em>dBm</em> relative to 1 mW. [<a href="#R.MAPv1.0">Clause 17.2.15/MAPv1.0</a>]</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.AP.">Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>A single logical Access Point operating on this radio.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.AP.BSSID"><em>BSSID</em></a>.</p></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.AP.BlacklistAttempts">BlacklistAttempts</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] Number of times a Blacklist steer was attempted for this Access Point.<span class="inserted"> Blacklist steering is the process of forcing a connected STA to move to another Access Point by temporarily blocking its access to the current Access Point.</span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.Radio.">Device.WiFi.Radio.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object models an 802.11 wireless radio on a device (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
If the device can establish more than one connection simultaneously (e.g. a dual radio device), a separate <em>Radio</em> instance MUST be used for each physical radio of the device. See [<a href="#R.TR-181i2">Appendix III.1/TR-181i2</a>] for additional information.
Note: A dual-band single-radio device (e.g. an 802.11a/b/g radio) can be configured to operate at 2.4 or 5 GHz frequency bands, but only a single frequency band is used to transmit/receive at a given time. Therefore, a single <em>Radio</em> instance is used even for a dual-band radio.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.Radio.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.WiFi.Radio.Name"><em>Name</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.CenterFrequencySegment0"><em>CenterFrequencySegment0</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.CenterFrequencySegment1"><em>CenterFrequencySegment1</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.EnableRRM"><em>EnableRRM</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.Upstream">Upstream</span></td>
<td>boolean</td>
<td>R</td>
<td>Indicates whether the interface points towards the Internet (<em>true</em>) or towards End Devices (<em>false</em>). For example: * For an Internet Gateway Device, <em>Upstream</em> will be <em>true</em> for all WAN interfaces and <em>false</em> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <em>Upstream</em> will be <em>true</em> for the Ethernet interface and <em>false</em> for the WiFi Radio interface. * For an End Device, <em>Upstream</em> will be <em>true</em> for all interfaces. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because it gives a wrong indication for multiple SSIDs. Use the <a href="#D.Device:2.Device.WiFi.SSID.Upstream"><em>SSID.{i}.Upstream</em></a> parameter instead.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.PossibleChannels">PossibleChannels</span></td>
<td>string[](:1024)</td>
<td>R</td>
<td>Comma-separated list (maximum number of characters 1024) of strings. List items represent possible radio channels for the wireless standard (a, b, g, <span class="removed">n)</span><span class="inserted">n, ac, ax)</span> and the regulatory domain. Ranges in the form &ldquo;n-m&rdquo; are permitted. For example, for 802.11b and North America, would be &ldquo;1-11&rdquo;.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.Channel">Channel</span></td>
<td>unsignedInt(1:255)</td>
<td>W</td>
<td>The current radio channel used by the connection. To request automatic channel selection, set <a href="#D.Device:2.Device.WiFi.Radio.AutoChannelEnable"><em>AutoChannelEnable</em></a> to <em>true</em>. Whenever <a href="#D.Device:2.Device.WiFi.Radio.AutoChannelEnable"><em>AutoChannelEnable</em></a> is <em>true</em>, the value of the <em>Channel</em> parameter MUST be the channel selected by the automatic channel selection procedure. For channels in &ldquo;wide mode&rdquo; (802.11n where a 40MHz channel bandwidth is used), this parameter is used for Primary Channel only. The secondary or extension channel information is available through <a href="#D.Device:2.Device.WiFi.Radio.ExtensionChannel"><em>ExtensionChannel</em></a>. Note: Valid <em>Channel</em> values depend on the <a href="#D.Device:2.Device.WiFi.Radio.OperatingFrequencyBand"><em>OperatingFrequencyBand</em></a> <span class="inserted">value specified </span>and<span class="inserted"> the</span> <a href="#D.Device:2.Device.WiFi.Radio.RegulatoryDomain"><em>RegulatoryDomain</em></a><span class="removed"> values specified.</span><span class="inserted">.</span></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.GuardInterval">GuardInterval</span></td>
<td>string</td>
<td>W</td>
<td><p>The guard interval value between OFDM symbols.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.400nsec"><em>400nsec</em></span> (applicable to 802.11n and 802.11ac specifications only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.800nsec"><em>800nsec</em></span> (applicable to <span class="inserted">802.11n</span> and <span class="inserted">802.11ac</span> specifications only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.1xLTF_0.8us"><em>1xLTF_0.8us</em></span> (applicable to 802.11ax specification only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.1xLTF_1.6us"><em>1xLTF_1.6us</em></span> (applicable to 802.11ax specification only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.2xLTF_0.8us"><em>2xLTF_0.8us</em></span> (applicable to 802.11ax specification only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.2xLTF_1.6us"><em>2xLTF_1.6us</em></span> (applicable to 802.11ax specification only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.4xLTF_0.8us"><em>4xLTF_0.8us</em></span> (applicable to 802.11ax specification only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.4xLTF_3.2us"><em>4xLTF_3.2us</em></span> (applicable to 802.11ax specification only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.GuardInterval.Auto"><em>Auto</em></span></li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed string <em>1600nsec</em> enumeration</li>
<li>Removed string <em>3200nsec</em> enumeration</li>
<li>Added string <em>1xLTF_0.8us</em> enumeration</li>
<li>Added string <em>1xLTF_1.6us</em> enumeration</li>
<li>Added string <em>2xLTF_0.8us</em> enumeration</li>
<li>Added string <em>2xLTF_1.6us</em> enumeration</li>
<li>Added string <em>4xLTF_0.8us</em> enumeration</li>
<li>Added string <em>4xLTF_3.2us</em> enumeration</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="deprecated-parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.CenterFrequencySegement0">CenterFrequencySegement0</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>When operating in <a href="#D.Device:2.Device.WiFi.Radio.CurrentOperatingChannelBandwidth.8080MHz"><em>80+80MHz</em></a>, this parameter determines the Center Frequency Segment 0 for the first 80 MHz channel. See [<a href="#R.802.11-2016">Section 9.4.2.161/802.11-2016</a>] and Table 9-252.<span class="inserted"> This parameter is DEPRECATED in 2.14 due to a typo. Use <a href="#D.Device:2.Device.WiFi.Radio.CenterFrequencySegment0"><em>CenterFrequencySegment0</em></a> instead.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added status = <em>deprecated</em></li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="deprecated-parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.CenterFrequencySegement1">CenterFrequencySegement1</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>When operating in <a href="#D.Device:2.Device.WiFi.Radio.CurrentOperatingChannelBandwidth.8080MHz"><em>80+80MHz</em></a>, this parameter determines the Center Frequency Segment 1 for the second 80 MHz channel. See [<a href="#R.802.11-2016">Section 9.4.2.161/802.11-2016</a>] and Table 9-252.<span class="inserted"> This parameter is DEPRECATED in 2.14 due to a typo. Use <a href="#D.Device:2.Device.WiFi.Radio.CenterFrequencySegment1"><em>CenterFrequencySegment1</em></a> instead.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added status = <em>deprecated</em></li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.CenterFrequencySegment0">CenterFrequencySegment0</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>When operating in <a href="#D.Device:2.Device.WiFi.Radio.CurrentOperatingChannelBandwidth.8080MHz"><em>80+80MHz</em></a>, this parameter determines the Center Frequency Segment 0 for the first 80 MHz channel. See [<a href="#R.802.11-2016">Section 9.4.2.161/802.11-2016</a>] and Table 9-252.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.CenterFrequencySegment1">CenterFrequencySegment1</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>When operating in <a href="#D.Device:2.Device.WiFi.Radio.CurrentOperatingChannelBandwidth.8080MHz"><em>80+80MHz</em></a>, this parameter determines the Center Frequency Segment 1 for the second 80 MHz channel. See [<a href="#R.802.11-2016">Section 9.4.2.161/802.11-2016</a>] and Table 9-252.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.MCS">MCS</span></td>
<td>int(-1:15,16:31)</td>
<td>W</td>
<td>The Modulation Coding Scheme index (applicable to <span class="removed">802.11n</span><span class="inserted">802.11n, 802.11ac,</span> and <span class="removed">802.11ac</span><span class="inserted">802.11ax</span> specifications only). Values from 0 to 15 MUST be supported<span class="inserted"> for</span> ([<a href="#R.802.11n-2009">802.11n-2009</a>]). Values from 0 to 9 MUST be supported for [<a href="#R.802.11ac-2013">802.11ac-2013</a>]. <span class="inserted">Values from 0 to 11 MUST be supported for [<a href="#R.802.11ax">802.11ax</a>]. </span>A value of -1 indicates automatic selection of the MCS index.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.EnableRRM">EnableRRM</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables 802.11k Radio Resource Management (RRM).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.">Device.WiFi.NeighboringWiFiDiagnostic.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines access to other WiFi SSIDs that this device is able to receive.</td>
<td>-</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.">Device.WiFi.Radio.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface. Packet counters here count 802.11 WiFi frames. See [<a href="#R.TR-181i2">Appendix III/TR-181i2</a>] for further details. The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.WiFi.Radio.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s <a href="#D.Device:2.Device.WiFi.Radio.Enable"><em>Enable</em></a> parameter transitions from <em>false</em> to <em>true</em>). Administrative and operational interface status is discussed in [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.CtsReceived"><em>CtsReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.NoCtsReceived"><em>NoCtsReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.FrameHeaderError"><em>FrameHeaderError</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.GoodPLCPReceived"><em>GoodPLCPReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.DPacketOtherMACReceived"><em>DPacketOtherMACReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.MPacketOtherMACReceived"><em>MPacketOtherMACReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.CPacketOtherMACReceived"><em>CPacketOtherMACReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.CtsOtherMACReceived"><em>CtsOtherMACReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.RtsOtherMACReceived"><em>RtsOtherMACReceived</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.CtsReceived">CtsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of Request To Send (RTS) control frames that received a Clear To Send (CTS) response.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.NoCtsReceived">NoCtsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of Request To Send (RTS) control frames that did not receive a Clear To Send (CTS) response.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.FrameHeaderError">FrameHeaderError</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets for which the PHY was able to correlate the preamble but not the header.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.GoodPLCPReceived">GoodPLCPReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received frames with a good Physical Layer Convergence Protocol (PLCP) header.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.DPacketOtherMACReceived">DPacketOtherMACReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of Wi-Fi data packets received from other Basic Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not matching the receiver address, meaning that that the frame is received at the MAC layer but is addressed to a different MAC.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.MPacketOtherMACReceived">MPacketOtherMACReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of Wi-Fi management packets received from other Basic Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not matching the receiver address, meaning that that the frame is received at the MAC layer but is addressed to a different MAC.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.CPacketOtherMACReceived">CPacketOtherMACReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of Wi-Fi control packets received from other Basic Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not matching the receiver address, meaning that that the frame is received at the MAC layer but is addressed to a different MAC.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.CtsOtherMACReceived">CtsOtherMACReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received Clear to Send (CTS) packets not addressed to the MAC address of this receiver.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.RtsOtherMACReceived">RtsOtherMACReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received Request to Send (RTS) frames not addressed to the MAC address of this receiver.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.SSID.">Device.WiFi.SSID.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>WiFi SSID table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]), where table entries model the MAC layer. A WiFi SSID entry is typically stacked on top of a <a href="#D.Device:2.Device.WiFi.Radio."><em>Radio</em></a> object.
WiFi SSID is also a multiplexing layer, i.e. more than one <em>SSID</em> can be stacked above a single <a href="#D.Device:2.Device.WiFi.Radio."><em>Radio</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.WiFi.SSID.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.WiFi.SSID.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.WiFi.SSID.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.WiFi.SSID.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.SSID.BSSID"><em>BSSID</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.ATFEnable"><em>ATFEnable</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.FlushATFTable"><em>FlushATFTable</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.SetATF"><em>SetATF</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.SSID.MACAddress">MACAddress</span></td>
<td><span title="MACAddress">string(:17)</span></td>
<td>R</td>
<td>[<a href="#T.MACAddress">MACAddress</a>] The MAC address of this interface. If this instance models an access point SSID, <em>MACAddress</em> is the same as <a href="#D.Device:2.Device.WiFi.SSID.BSSID"><em>BSSID</em></a>. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <a href="#D.Device:2.Device.Ethernet.Link.MACAddress"><em>Ethernet.Link.{i}.MACAddress</em></a> parameter.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.ATFEnable">ATFEnable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables Air Time Fairness (ATF).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.FlushATFTable">FlushATFTable</span></td>
<td>boolean</td>
<td>W</td>
<td>After this parameter is set to true, the ATF configuration of the interface will be reset.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.SetATF">SetATF</span></td>
<td>unsignedInt(0:100)</td>
<td>W</td>
<td>Configures the ATF setting for all associated devices on an individual SSID. Expressed as percentage of airtime, such that no station should exceed this percentage.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.">Device.WiFi.SSID.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface. Packet counters here count 802.11 WiFi frames. See [<a href="#R.TR-181i2">Appendix III/TR-181i2</a>] for further details. The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.WiFi.SSID.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s <a href="#D.Device:2.Device.WiFi.SSID.Enable"><em>Enable</em></a> parameter transitions from <em>false</em> to <em>true</em>). Administrative and operational interface status is discussed in [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.DiscardPacketsSentBufOverflow"><em>DiscardPacketsSentBufOverflow</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.DiscardPacketsSentNoAssoc"><em>DiscardPacketsSentNoAssoc</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.FragSent"><em>FragSent</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.SentNoAck"><em>SentNoAck</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.DupReceived"><em>DupReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.TooLongReceived"><em>TooLongReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.TooShortReceived"><em>TooShortReceived</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Stats.AckUcastReceived"><em>AckUcastReceived</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.DiscardPacketsSentBufOverflow">DiscardPacketsSentBufOverflow</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of discarded packets during transmission caused by transmit buffer overflow.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.DiscardPacketsSentNoAssoc">DiscardPacketsSentNoAssoc</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of discarded packets due to the station not being associated.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.FragSent">FragSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of frame-fragments transmitted out of the interface.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.SentNoAck">SentNoAck</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of transmitted data packets that did not receive an ACK when expected.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.DupReceived">DupReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets whose Sequence Control field indicates it is a duplicate.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.TooLongReceived">TooLongReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets longer than the maximum allowed packet length.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.TooShortReceived">TooShortReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets that did not contain enough bytes for the packet type.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Stats.AckUcastReceived">AckUcastReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of unicast ACKs received, with good Frame Check Sequence (FCS).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.">Device.WiFi.AccessPoint.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object models an 802.11 connection from the perspective of a wireless access point. Each <em>AccessPoint</em> entry is associated with a particular <a href="#D.Device:2.Device.WiFi.SSID."><em>SSID</em></a> interface instance via the <a href="#D.Device:2.Device.WiFi.AccessPoint.SSIDReference"><em>SSIDReference</em></a> parameter.
For enabled table entries, if <a href="#D.Device:2.Device.WiFi.AccessPoint.SSIDReference"><em>SSIDReference</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.WiFi.AccessPoint.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>AccessPoint</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>AccessPoint</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.WiFi.AccessPoint.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>AccessPoint</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.WiFi.AccessPoint.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.WiFi.AccessPoint.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.AccessPoint.SSIDReference"><em>SSIDReference</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.CpeOperationMode"><em>CpeOperationMode</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.RetryLimit">RetryLimit</span></td>
<td>unsignedInt(0:7)</td>
<td>W</td>
<td>The maximum number of retransmission for a packet. This corresponds to IEEE 802.11 parameter <em>dot11ShortRetryLimit</em>. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because it is really a <a href="#D.Device:2.Device.WiFi.Radio."><em>Radio</em></a> attribute. Use <a href="#D.Device:2.Device.WiFi.Radio.RetryLimit"><em>Radio.{i}.RetryLimit</em></a>.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.MaxAssociatedDevices">MaxAssociatedDevices</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The maximum number of devices that can simultaneously be connected to the access point. A value of 0 means that there is no specific limit. This parameter has been DEPRECATED in favor of <a href="#D.Device:2.Device.WiFi.AccessPoint.MaxAllowedAssociations"><em>MaxAllowedAssociations</em></a>.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>0</td>
<td>2.4</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.CpeOperationMode">CpeOperationMode</span></td>
<td>string</td>
<td>W</td>
<td><p>Reports information about the CPE operation mode (router or bridge/range extender).</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.CpeOperationMode.Router"><em>Router</em></span> (Indicates indicates operation as a router)</li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.CpeOperationMode.BridgeExtender"><em>Bridge/Extender</em></span> (Indicates operation as a range extender or acess point in bridge mode)</li></ul></td>
<td>Router</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.Security.">Device.WiFi.AccessPoint.{i}.Security.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains security related parameters that apply to a CPE acting as an Access Point [<a href="#R.802.11-2007">802.11-2007</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.SecondaryRadiusServerIPAddr"><em>SecondaryRadiusServerIPAddr</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.EncryptionMode"><em>EncryptionMode</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.SecondaryRadiusServerIPAddr"><em>SecondaryRadiusServerIPAddr</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported">ModesSupported</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. Indicates which security modes this <a href="#D.Device:2.Device.WiFi.AccessPoint."><em>AccessPoint</em></a> instance is capable of supporting.<span class="inserted"> The <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Personal"><em>WPA3-Personal</em></a> value is the same as WPA3-SAE. The <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Personal-Transition"><em>WPA3-Personal-Transition</em></a> value is the same as WPA2-PSK-WPA3-SAE.</span></p>

<p>Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.None"><em>None</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WEP-64"><em>WEP-64</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WEP-128"><em>WEP-128</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA-Personal"><em>WPA-Personal</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA2-Personal"><em>WPA2-Personal</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Personal"><em>WPA3-Personal</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA-WPA2-Personal"><em>WPA-WPA2-Personal</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Personal-Transition"><em>WPA3-Personal-Transition</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA-Enterprise"><em>WPA-Enterprise</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA2-Enterprise"><em>WPA2-Enterprise</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Enterprise"><em>WPA3-Enterprise</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA-WPA2-Enterprise"><em>WPA-WPA2-Enterprise</em></span></li></ul></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.Security.EncryptionMode">EncryptionMode</span></td>
<td>string[]</td>
<td>W</td>
<td><p>Comma-separated list of strings. The type of encryption in use.
When <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModeEnabled"><em>ModeEnabled</em></a> is one of <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Personal"><em>WPA3-Personal</em></a>, <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Personal-Transition"><em>WPA3-Personal-Transition</em></a>, or <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Enterprise"><em>WPA3-Enterprise</em></a>, <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.EncryptionMode.TKIP"><em>TKIP</em></a> is not valid, and should not be in the list.</p>

<p>Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.EncryptionMode.TKIP"><em>TKIP</em></span></li>
<li><span id="D.Device:2.Device.WiFi.AccessPoint.Security.EncryptionMode.AES"><em>AES</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.Security.SecondaryRadiusServerIPAddr">SecondaryRadiusServerIPAddr</span></td>
<td><span title="IPAddress">string(:45)</span></td>
<td>W</td>
<td>[<a href="#T.IPAddress">IPAddress</a>] The IP Address of a secondary RADIUS server used for WLAN security. <em>SecondaryRadiusServerIPAddr</em> is only applicable when <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModeEnabled"><em>ModeEnabled</em></a> is an Enterprise type (i.e. <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA-Enterprise"><em>WPA-Enterprise</em></a>, <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA2-Enterprise"><em>WPA2-Enterprise</em></a>, <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA3-Enterprise"><em>WPA3-Enterprise</em></a>, or <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WPA-WPA2-Enterprise"><em>WPA-WPA2-Enterprise</em></a>).
The client can forward requests to the secondary server in the event that the primary server is down or unreachable, or after a number of tries to the primary server fail, or in a round-robin fashion [<a href="#R.RFC2865">RFC2865</a>].</td>
<td>-</td>
<td>2.5</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.">Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>A table of the devices currently associated with the access point.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.MACAddress"><em>MACAddress</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Type"><em>Type</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.SetStaATF"><em>SetStaATF</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Type">Type</span></td>
<td>string</td>
<td>R</td>
<td>Associated device type (Laptop, iPhone, Android, etc.).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.SetStaATF">SetStaATF</span></td>
<td>unsignedInt(0:100)</td>
<td>W</td>
<td>Configures the Air Time Fairness (ATF) setting of this individual associated device. Expressed as percentage of airtime, such that this associated device should not exceed this percentage. Setting this value overrides <a href="#D.Device:2.Device.WiFi.SSID.SetATF"><em>Device.WiFi.SSID.{i}.SetATF</em></a> for this associated device.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Stats.">Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>These count bytes or packets sent to, or received from, this Associated Device, which is a WiFi station associated to this access point. Packet counters here count 802.11 WiFi frames.
The CPE MUST reset these <em>Stats</em> parameters (unless otherwise stated in individual object or parameter descriptions) either when the <a href="#D.Device:2.Device.WiFi.AccessPoint.Status"><em>Status</em></a> of the parent <a href="#D.Device:2.Device.WiFi.AccessPoint."><em>AccessPoint</em></a> object transitions from <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Disabled"><em>Disabled</em></a> to <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Enabled"><em>Enabled</em></a>, or when it transitions from <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Enabled"><em>Enabled</em></a> to <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Disabled"><em>Disabled</em></a>.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Stats.ErrorsReceived"><em>ErrorsReceived</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ZigBee.">Device.ZigBee.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Top level object for ZigBee capabilities based on the [<a href="#R.ZigBee2007">ZigBee2007</a>] specification.</td>
<td>-</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ZigBee.ZDO.">Device.ZigBee.ZDO.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>ZigBee Device Object (ZDO) provides management capabilities of the ZigBee Application Support (APS) and Network (NWK) layers of a ZigBee Device as defined in [<a href="#R.ZigBee2007">Section 2.5/ZigBee2007</a>].
At most one entry in this table can exist with the same values for both <a href="#D.Device:2.Device.ZigBee.ZDO.IEEEAddress"><em>IEEEAddress</em></a> and <a href="#D.Device:2.Device.ZigBee.ZDO.NetworkAddress"><em>NetworkAddress</em></a>.
It is possible that instances of this object have the same key value when the value of <a href="#D.Device:2.Device.ZigBee.ZDO.IEEEAddress"><em>IEEEAddress</em></a> parameter is &ldquo;FF:FF:FF:FF:FF:FF:FF:FF&rdquo; and the ZigBee Coordinators on two or more separate area networks assign the same value for the <a href="#D.Device:2.Device.ZigBee.ZDO.NetworkAddress"><em>NetworkAddress</em></a>. This is because the ZigBee specification describes only intra-area network topologies [<a href="#R.ZigBee2007">Section 1.1.4 Network Topology/ZigBee2007</a>]. As such if two or more <em>ZDO</em> instances have the same key value the implemenation is undefined</td>
<td>-</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ZigBee.ZDO.ComplexDescriptor.">Device.ZigBee.ZDO.{i}.ComplexDescriptor.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The <em>ComplexDescriptor</em> object is an optional descriptor that describes extended capabilities of the ZigBee device as defined in [<a href="#R.ZigBee2007">Section 2.3.2.6 Complex Descriptor/ZigBee2007</a>].</td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ZigBee.ZDO.ComplexDescriptor.DeviceURL">DeviceURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>Specifies the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> through which more information relating to the ZigBee device can be obtained.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ZigBee.ZDO.ComplexDescriptor.IconURL">IconURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>Specifies the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> through which the icon for the ZigBee device can be obtained.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PPP.">Device.PPP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Point-to-Point Protocol [<a href="#R.RFC1661">RFC1661</a>]. This object contains the <a href="#D.Device:2.Device.PPP.Interface."><em>Interface</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PPP.Interface.">Device.PPP.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>PPP interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PPP.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.PPP.Interface.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.PPP.Interface.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.PPP.Interface.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-object">
<td><span id="D.Device:2.Device.PPP.Interface.PPPoA.">Device.PPP.Interface.{i}.PPPoA.</span></td>
<td><span title="object(0:1)">object(0:1)</span></td>
<td>R</td>
<td><p>PPPoA object that functionally groups PPPoA related parameters.
This object is OBSOLETED because it contains no standard parameters and its existence causes confusion.</p>

<p>This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added status = <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.">Device.IP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>IP object that contains the <a href="#D.Device:2.Device.IP.Interface."><em>Interface</em></a>, <a href="#D.Device:2.Device.IP.ActivePort."><em>ActivePort</em></a>, and <a href="#D.Device:2.Device.IP.Diagnostics."><em>Diagnostics</em></a> objects.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.">Device.IP.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The IP Diagnostics object.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacitySupported"><em>IPLayerCapacitySupported</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics."><em>IPLayerCapacityMetrics.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacitySupported">IPLayerCapacitySupported</span></td>
<td>boolean</td>
<td>R</td>
<td>Indicates that IP Layer Capacity measurement is supported.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.">Device.IP.Diagnostics.DownloadDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the diagnostics configuration for a HTTP and FTP DownloadDiagnostics Test.
Files received in the DownloadDiagnostics do not require file storage on the CPE device.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.DownloadURL">DownloadURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL, as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> for the CPE to perform the download on. This parameter MUST be in the form of a valid HTTP [<a href="#R.RFC2616">RFC2616</a>] or FTP [<a href="#R.RFC959">RFC959</a>] URL. * When using FTP transport, FTP binary transfer MUST be used. * When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used. * When using HTTP transport the HTTP Authentication MUST NOT be used. Note: For time based tests (<a href="#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration"><em>TimeBasedTestDuration</em></a> &gt; 0) the Controller MAY add a hint to duration of the test to the URL. See [<a href="#R.TR-143">Section 4.3/TR-143</a>] for more details.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval">TimeBasedTestMeasurementInterval</span></td>
<td>unsignedInt(0:999)</td>
<td>W</td>
<td>The measurement interval duration in <em>seconds</em> for objects in <a href="#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult."><em>IncrementalResult</em></a> for a time based FTP/HTTP download test (when <a href="#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration"><em>TimeBasedTestDuration</em></a> &gt; 0). The default value SHOULD be 0, which implies <a href="#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult."><em>IncrementalResult</em></a> collection is disabled. For example if <a href="#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration"><em>TimeBasedTestDuration</em></a> is 90 <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> and <em>TimeBasedTestMeasurementInterval</em> is 10 <em>seconds</em>, there will be 9 results in <a href="#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult."><em>IncrementalResult</em></a>, each with a 10 <em>seconds</em> duration.</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.">Device.IP.Diagnostics.UploadDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the diagnostics configuration for a HTTP or FTP UploadDiagnostics test.
Files sent by the UploadDiagnostics do not require file storage on the CPE device, and MAY be an arbitrary stream of bytes.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.UploadURL">UploadURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL, as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> for the CPE to Upload to. This parameter MUST be in the form of a valid HTTP [<a href="#R.RFC2616">RFC2616</a>] or FTP [<a href="#R.RFC959">RFC959</a>] URL. * When using FTP transport, FTP binary transfer MUST be used. * When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used. * When using HTTP transport the HTTP Authentication MUST NOT be used.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestMeasurementInterval">TimeBasedTestMeasurementInterval</span></td>
<td>unsignedInt(0:999)</td>
<td>W</td>
<td>The measurement interval duration in <em>seconds</em> for objects in <a href="#D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult."><em>IncrementalResult</em></a> for a time based FTP/HTTP upload test (when <a href="#D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestDuration"><em>TimeBasedTestDuration</em></a> &gt; 0). The default value SHOULD be 0, which implies <a href="#D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult."><em>IncrementalResult</em></a> collection is disabled. For example if <a href="#D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.TimeBasedTestDuration"><em>TimeBasedTestDuration</em></a> is 90 <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> and <em>TimeBasedTestMeasurementInterval</em> is 10 <em>seconds</em>, there will be 9 results in <a href="#D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult."><em>IncrementalResult</em></a>, each with a 10 <em>seconds</em> duration.</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.">Device.IP.Diagnostics.IPLayerCapacityMetrics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the diagnostics configuration for a IP Layer Capacity test. IP Layer Capacity measurement is specified in [<a href="#R.TR-471">TR-471</a>].
Files received in the IP Layer Capacity test do not require file storage on the CPE device.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_NoRouteToHost"><em>Error_NoRouteToHost</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_InitConnectionFailed"><em>Error_InitConnectionFailed</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_NoResponse"><em>Error_NoResponse</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_PasswordRequestFailed"><em>Error_PasswordRequestFailed</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_LoginFailed"><em>Error_LoginFailed</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_RejectedByRemote"><em>Error_RejectedByRemote</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_IncorrectSize"><em>Error_IncorrectSize</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_Timeout"><em>Error_Timeout</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Requested"><em>Requested</em></a> and <strong>{{enum: non-existent Canceled}}</strong>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<strong>{{enum: non-existent Canceled}}</strong> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <strong>{{enum: non-existent Canceled}}</strong> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_NoRouteToHost"><em>Error_NoRouteToHost</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_InitConnectionFailed"><em>Error_InitConnectionFailed</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_NoResponse"><em>Error_NoResponse</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_PasswordRequestFailed"><em>Error_PasswordRequestFailed</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_LoginFailed"><em>Error_LoginFailed</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_RejectedByRemote"><em>Error_RejectedByRemote</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_IncorrectSize"><em>Error_IncorrectSize</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_Timeout"><em>Error_Timeout</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerMaxConnections">IPLayerMaxConnections</span></td>
<td>unsignedInt(1:)</td>
<td>R</td>
<td>Indicates the maximum number of connections that are supported for an IP-Layer Capacity test.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerMaxIncrementalResult">IPLayerMaxIncrementalResult</span></td>
<td>unsignedInt(1:)</td>
<td>R</td>
<td>The maximum number of rows in <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult."><em>IncrementalResult</em></a> that the device will store.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerCapSupportedMetrics">IPLayerCapSupportedMetrics</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. Indicates the test metrics from [<a href="#R.TR-471">Section 5.2/TR-471</a>] that are supported by the device.</p>

<p>Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerCapSupportedMetrics.IPLR"><em>IPLR</em></span> (IP packet Loss Ratio)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerCapSupportedMetrics.Sampled_RTT"><em>Sampled_RTT</em></span> (Sampled Round Trip Time)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerCapSupportedMetrics.IPDV"><em>IPDV</em></span> (IP packet Delay Variation, OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerCapSupportedMetrics.IPRR"><em>IPRR</em></span> (IP packet Reordering Ratio, OPTIONAL)</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Interface">Interface</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Note that [<a href="#R.TR-471">TR-471</a>] mandates support for and use of IPLR and Sampled RTT.
The value MUST be the Path Name of a table row. The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1
If an empty string is specified, the device MUST use the interface as directed by its routing policy (<em>Forwarding</em> table entries) to determine the appropriate interface.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Role">Role</span></td>
<td>string</td>
<td>W</td>
<td><p>Indicates whether the device will act as Sender or Receiver of test packets.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Role.Receiver"><em>Receiver</em></span> (The device will act as the Receiver)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Role.Sender"><em>Sender</em></span> (The device will act as the Sender)</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Host">Host</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The Fully Qualified Domain Name (FQDN) or IP address of the Test Endpoint to perform the UDP Capacity tests with.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Port">Port</span></td>
<td>unsignedInt(1:65535)</td>
<td>W</td>
<td><p>Port on the Test Endpoint host.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.JumboFramesPermitted">JumboFramesPermitted</span></td>
<td>boolean</td>
<td>W</td>
<td>If <em>true</em>, jumbo frames are allowed. Default SHOULD be <em>false</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.NumberOfConnections">NumberOfConnections</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>The number of connections to be used in the test. The default value SHOULD be 1. <em>NumberOfConnections</em> MUST NOT be set to a value greater than <strong>{{param: non-existent #.IPLayerMaxConnections}}</strong>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.EthernetPriority">EthernetPriority</span></td>
<td>unsignedInt(0:7)</td>
<td>W</td>
<td>Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.DSCP">DSCP</span></td>
<td>unsignedInt(0:63)</td>
<td>W</td>
<td>The DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.ProtocolVersion">ProtocolVersion</span></td>
<td>string</td>
<td>W</td>
<td><p>Indicates the IP protocol version to be used. The default value SHOULD be <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.ProtocolVersion.Any"><em>Any</em></a>.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.ProtocolVersion.Any"><em>Any</em></span> (Use either IPv4 or IPv6 depending on the system preference)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.ProtocolVersion.IPv4"><em>IPv4</em></span> (Use IPv4 for the requests)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.ProtocolVersion.IPv6"><em>IPv6</em></span> (Use IPv6 for the requests)</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.UDPPayloadMin">UDPPayloadMin</span></td>
<td>unsignedInt(35:9000)</td>
<td>W</td>
<td>Minimum reference size of UDP payload in <em>octets</em>. No default. The implementation will algorithmically determine a value if none is configured. The value SHOULD be set to a value that avoids fragmentation (i.e., using path MTU discovery).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.UDPPayloadMax">UDPPayloadMax</span></td>
<td>unsignedInt(35:9000)</td>
<td>W</td>
<td>Maximum reference size of UDP payload in <em>octets</em>. No default. The implementation will algorithmically determine a value if none is configured. The value SHOULD be set to the largest value that avoids fragmentation (i.e., using path MTU discovery). If <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.JumboFramesPermitted"><em>JumboFramesPermitted</em></a> is <em>false</em>, the maximum value MUST be 1472 octets. If <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.JumboFramesPermitted"><em>JumboFramesPermitted</em></a> is <em>true</em>, this value can be as large as 9000 octets. <em>UDPPayloadMax</em> MUST be greater than or equal to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.UDPPayloadMin"><em>UDPPayloadMin</em></a>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortMin">PortMin</span></td>
<td>unsignedInt(49152:65535)</td>
<td>W</td>
<td>Starting value for range of Dynamic Ports supported for test traffic and status feedback messages.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortMax">PortMax</span></td>
<td>unsignedInt(49152:65535)</td>
<td>W</td>
<td>Indicates the upper bound of the supported Dynamic Port range, where <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortMin"><em>PortMin</em></a> indicates the starting port number. <em>PortMax</em> MUST be greater than or equal to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortMin"><em>PortMin</em></a>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortOptionalMin">PortOptionalMin</span></td>
<td>unsignedInt(0,1024:49151)</td>
<td>W</td>
<td>Starting value for range of User Ports supported for test traffic and status feedback messages. A value of zero (0) indicates no User Ports are used for test traffic or status feedback messages.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortOptionalMax">PortOptionalMax</span></td>
<td>unsignedInt(0,1024:49151)</td>
<td>W</td>
<td>Indicates the upper bound of the supported User Port range, where <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortOptionalMin"><em>PortOptionalMin</em></a> indicates the starting port number. <em>PortOptionalMax</em> MUST be greater than or equal to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PortOptionalMin"><em>PortOptionalMin</em></a>. A value of zero (0) indicates no User Ports are used for test traffic or status feedback messages.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType">TestType</span></td>
<td>string</td>
<td>W</td>
<td><p>Indicates the type of IP-Layer Capacity test being run. The default value SHOULD be <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></a>.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></span> (Search algorithm will be used to determine sending rate)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Fixed"><em>Fixed</em></span> (Fixed sending rate will be used)</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPDVEnable">IPDVEnable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables IPDV (IP packet Delay Variation) metric. Default SHOULD be <em>false</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IPRREnable">IPRREnable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables IPRR (IP packet Reordering Ratio) metric. Default SHOULD be <em>false</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PreambleDuration">PreambleDuration</span></td>
<td>unsignedInt(0:5)</td>
<td>W</td>
<td>Duration of the preamble testing, when traffic is being sent and/or received but the test clock has not been started. This is done to ensure all network elements in the path are &ldquo;awake&rdquo;. The default value SHOULD be 2 <em>seconds</em>. Value specified in <em>seconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.StartSendingRate">StartSendingRate</span></td>
<td>unsignedInt(500:10000000)</td>
<td>W</td>
<td>The Sending Rate for a <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Fixed"><em>Fixed</em></a> test or the initial Sending Rate value for a <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></a> test. Value specified in <em>kbps</em>. The default SHOULD be 500 <em>kbps</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.NumberTestSubIntervals">NumberTestSubIntervals</span></td>
<td>unsignedInt(1:100)</td>
<td>W</td>
<td>Number of intermediate measurement reporting intervals. The value MUST NOT be greater than <strong>{{param: non-existent #.IPLayerMaxIncrementalResult}}</strong>. The default value SHOULD be 10.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval">TestSubInterval</span></td>
<td>unsignedInt(100:6000)</td>
<td>W</td>
<td>Duration of intermediate measurement reporting intervals. <em>TestSubInterval</em> * <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.NumberTestSubIntervals"><em>NumberTestSubIntervals</em></a> MUST result in an integer value in seconds, in the range 5 seconds &lt;= <em>TestSubInterval</em> * <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.NumberTestSubIntervals"><em>NumberTestSubIntervals</em></a> &lt;= 60 seconds. The default value SHOULD be 1000 <em>milliseconds</em>. Value specified in <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.StatusFeedbackInterval">StatusFeedbackInterval</span></td>
<td>unsignedInt(5:250)</td>
<td>W</td>
<td>Period of status feedback message (receiver of offered load returns messages to the sender with results of measured metrics). Value specified in <em>milliseconds</em>. The default SHOULD be 50 <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimeoutNoTraffic">TimeoutNoTraffic</span></td>
<td>unsignedInt(5:30)</td>
<td>W</td>
<td>Timeout value. Value specified in <em>seconds</em>. The default value SHOULD be 5 <em>seconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Tmax">Tmax</span></td>
<td>unsignedInt(50:3000)</td>
<td>W</td>
<td>Maximum waiting time for packets to arrive. Value specified in <em>milliseconds</em>. The default SHOULD be 1000 <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TmaxRTT">TmaxRTT</span></td>
<td>unsignedInt(50:3000)</td>
<td>W</td>
<td>Maximum Round Trip Time waiting time for packets to arrive. Value specified in <em>milliseconds</em>. The default SHOULD be 3000 <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimestampResolution">TimestampResolution</span></td>
<td>unsignedInt(1:1000)</td>
<td>W</td>
<td>Indicates the requested precision of timestamp values. The test implementation will determine the actual precision to use based on the implemented resolution capabilities of the protocols used and this requested value. If the implemented resolution capabilities of the <strong>{{param: non-existent #.IPLayerCapSupportedMetrics}}</strong> protocols being used are able to provide the requested resolution, this resolution SHOULD be provided. Value specified in <em>microseconds</em>. The default SHOULD be 1 <em>microseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.LowerThresh">LowerThresh</span></td>
<td>unsignedInt(5:250)</td>
<td>W</td>
<td>This parameter is only meaningful if <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType"><em>TestType</em></a> is <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></a>. The lower threshold on the range of Round Trip Time (RTT) variation. Value specified in <em>milliseconds</em>. The default SHOULD be 30 <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.UpperThresh">UpperThresh</span></td>
<td>unsignedInt(5:250)</td>
<td>W</td>
<td>This parameter is only meaningful if <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType"><em>TestType</em></a> is <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></a>. The upper threshold on the range of Round Trip Time (RTT) variation. Value specified in <em>milliseconds</em>. The default SHOULD be 90 <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.HighSpeedDelta">HighSpeedDelta</span></td>
<td>unsignedInt(2:)</td>
<td>W</td>
<td>This parameter is only meaningful if <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType"><em>TestType</em></a> is <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></a>. The number of rows to move in a single adjustment when initially increasing offered load (to ramp up quickly). The default SHOULD be 10.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.SlowAdjThresh">SlowAdjThresh</span></td>
<td>unsignedInt(2:)</td>
<td>W</td>
<td>This parameter is only meaningful if <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType"><em>TestType</em></a> is <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></a>. Threshold on the measured number of consecutive status reports indicating loss and/or delay variation above <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.UpperThresh"><em>UpperThresh</em></a> (SlowAdjCount). The default SHOULD be 2.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.HSpeedThresh">HSpeedThresh</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>This parameter is only meaningful if <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType"><em>TestType</em></a> is <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestType.Search"><em>Search</em></a>. Threshold for transition between low and high sending rate step sizes (such as 1Mbps and 100 Mbps). If <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.JumboFramesPermitted"><em>JumboFramesPermitted</em></a> is <em>true</em> this may result in use of jumbo frames. The default SHOULD be 1 <em>Gbps</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.BOMTime">BOMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Beginning of transmission send/receive time in UTC, which MUST be specified to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimestampResolution"><em>TimestampResolution</em></a> precision. If multiple connections are used, then <em>BOMTime</em> is set to the earliest value across all connections. For example: 2008-04-09T15:01:05.123456Z</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.EOMTime">EOMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>End of transmission in UTC, which MUST be specified to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimestampResolution"><em>TimestampResolution</em></a> precision. If multiple connections are used, then <em>EOMTime</em> is set to the latest value across all connections. For example: 2008-04-09T15:01:05.123456Z</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TmaxUsed">TmaxUsed</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Configured value of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.Tmax"><em>Tmax</em></a> used in the test. This value is expressed in <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestInterval">TestInterval</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Duration of the test (either downlink or uplink). This value is expected to equal <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> * <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.NumberTestSubIntervals"><em>NumberTestSubIntervals</em></a>. This value is expressed in <em>seconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity">MaxIPLayerCapacity</span></td>
<td>decimal</td>
<td>R</td>
<td>The maximum IP-Layer Capacity metric from among all <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.IPLayerCapacity"><em>IncrementalResult.{i}.IPLayerCapacity</em></a> values measured between <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.BOMTime"><em>BOMTime</em></a> and <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.EOMTime"><em>EOMTime</em></a> across all connections for this test. This is calculated according to [<a href="#R.TR-471">TR-471</a>] Equation 1. Result is expressed in <em>Mbps</em> with 3 digits beyond the decimal. 10^6 bits/second = 1 Mbps.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimeOfMax">TimeOfMax</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Time in UTC of end of the sub-interval when <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity"><em>MaxIPLayerCapacity</em></a> was measured. If the value of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity"><em>MaxIPLayerCapacity</em></a> occurred in multiple sub-intervals, this MUST be the earliest of these sub-intervals. Value MUST be specified to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimestampResolution"><em>TimestampResolution</em></a> precision. For example: 2008-04-09T15:01:05.123456Z</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.LossRatioAtMax">LossRatioAtMax</span></td>
<td>decimal</td>
<td>R</td>
<td>Ratio of lost packets to total packets during sub-interval of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity"><em>MaxIPLayerCapacity</em></a>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.RTTRangeAtMax">RTTRangeAtMax</span></td>
<td>decimal</td>
<td>R</td>
<td>The range of Round Trip Time (RTT) during sub-interval of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity"><em>MaxIPLayerCapacity</em></a>. This value is expressed in <em>seconds</em>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.PDVRangeAtMax">PDVRangeAtMax</span></td>
<td>decimal</td>
<td>R</td>
<td>The range of Packet Delay Variation (PDV) during sub-interval of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity"><em>MaxIPLayerCapacity</em></a>. This value is expressed in <em>seconds</em>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MinOnewayDelayAtMax">MinOnewayDelayAtMax</span></td>
<td>decimal</td>
<td>R</td>
<td>The minimum one-way delay during the sub-interval of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity"><em>MaxIPLayerCapacity</em></a>. The minimum one-way delay is calculated at the conclusion of the test and SHALL be calculated using the conditional distribution of all packets with a finite one-way delay value (undefined delays are excluded). This value is expressed in <em>seconds</em>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.ReorderedRatioAtMax">ReorderedRatioAtMax</span></td>
<td>decimal</td>
<td>R</td>
<td>Ratio of reordered packets to total packets during the sub-interval of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.MaxIPLayerCapacity"><em>MaxIPLayerCapacity</em></a>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResultNumberOfEntries">IncrementalResultNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult."><em>IncrementalResult</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TmaxRTTUsed">TmaxRTTUsed</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Configured value of <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TmaxRTT"><em>TmaxRTT</em></a> used in the test. This value is expressed in <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimestampResolutionUsed">TimestampResolutionUsed</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Indicates the timestamp resolution of reported results. Value specified in <em>microseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.">Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>Results for time segmented tests (tests where <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.NumberTestSubIntervals"><em>NumberTestSubIntervals</em></a> &gt; 1). This data is calculated across all connections in the test. A new object is created every <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> after that interval has completed. Instance numbers MUST start at 1 and sequentially increment as new instances are created. All instances are removed when new test is started or results are otherwise cleared.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.IPLayerCapacity">IPLayerCapacity</span></td>
<td>decimal</td>
<td>R</td>
<td>Results of measurements using the maximum IP-Layer Capacity metric calculation for a single interval from [<a href="#R.TR-471">TR-471</a>] Equation 1, for time interval of duration <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> ending at <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.TimeOfSubInterval"><em>TimeOfSubInterval</em></a> across all connections for this test. Result is expressed in <em>Mbps</em> with 3 digits beyond the decimal. 10^6 bits/second = 1 Mbps.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.TimeOfSubInterval">TimeOfSubInterval</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Time in UTC of end of sub-interval when <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.IPLayerCapacity"><em>IPLayerCapacity</em></a> was measured. Value MUST be specified to <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TimestampResolution"><em>TimestampResolution</em></a> precision. For example: 2008-04-09T15:01:05.123456Z</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.LossRatio">LossRatio</span></td>
<td>decimal</td>
<td>R</td>
<td>Ratio of lost packets to total packets, for time interval of duration <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> ending at <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.TimeOfSubInterval"><em>TimeOfSubInterval</em></a> across all connections for this test. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.RTTRange">RTTRange</span></td>
<td>decimal</td>
<td>R</td>
<td>The range of Round Trip Time (RTT), for time interval of duration <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> ending at <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.TimeOfSubInterval"><em>TimeOfSubInterval</em></a> across all connections for this test. See [<a href="#R.TR-471">TR-471</a>] for description of how value is calculated. This value is expressed in <em>seconds</em>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.PDVRange">PDVRange</span></td>
<td>decimal</td>
<td>R</td>
<td>The range of Packet Delay Variation (PDV), for time interval of duration <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> ending at <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.TimeOfSubInterval"><em>TimeOfSubInterval</em></a> across all connections for this test. See [<a href="#R.TR-471">TR-471</a>] for description of how value is calculated. This value is expressed in <em>seconds</em>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.MinOnewayDelay">MinOnewayDelay</span></td>
<td>decimal</td>
<td>R</td>
<td>The minimum one-way delay, for time interval of duration <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> ending at <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.TimeOfSubInterval"><em>TimeOfSubInterval</em></a> across all connections for this test. The minimum one-way delay is calculated at the conclusion of the test and SHALL be calculated using the conditional distribution of all packets with a finite one-way delay value (undefined delays are excluded). This value is expressed in <em>seconds</em>. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.ReorderedRatio">ReorderedRatio</span></td>
<td>decimal</td>
<td>R</td>
<td>Ratio of reordered packets to total packets, for time interval of duration <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.TestSubInterval"><em>TestSubInterval</em></a> ending at <a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.TimeOfSubInterval"><em>TimeOfSubInterval</em></a> across all connections for this test. This value is expressed as a decimal to 9 decimal digits.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MAP.">Device.MAP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The Mapping of Address and Port (MAP) object [<a href="#R.RFC7597">RFC7597</a>] [<a href="#R.RFC7599">RFC7599</a>] [<a href="#R.RFC7598">RFC7598</a>]. This object applies only to gateway devices that support IPv4 on the LAN side, include a <a href="#D.Device:2.Device.NAT."><em>NAT</em></a>, and typically have only IPv6 connectivity on the WAN side.
See the MAP Theory of Operation [<a href="#R.TR-181i2">Appendix XV/TR-181i2</a>] for a description of the working of this MAP data model.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MAP.Domain.">Device.MAP.Domain.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>MAP domain settings [<a href="#R.RFC7597">RFC7597</a>] [<a href="#R.RFC7599">RFC7599</a>]. Each instance models a MAP domain.
MAP supports two transport modes, both of which use NAPT44 (modified to use a restricted port range):</p>

<ul>
<li>MAP-E (<a href="#D.Device:2.Device.MAP.Domain.TransportMode"><em>TransportMode</em></a> = <a href="#D.Device:2.Device.MAP.Domain.TransportMode.Encapsulation"><em>Encapsulation</em></a>) uses an IPv4-in-IPv6 tunnel.</li>
<li>MAP-T (<a href="#D.Device:2.Device.MAP.Domain.TransportMode"><em>TransportMode</em></a> = <a href="#D.Device:2.Device.MAP.Domain.TransportMode.Translation"><em>Translation</em></a>) uses stateless NAT64.
Note: There is an n:1 relationship between a MAP domain and the associated <a href="#D.Device:2.Device.MAP.Domain.WANInterface"><em>WANInterface</em></a>, i.e. in theory multiple MAP domains can be associated with a single WAN IP interface (each domain would have its own <em>End-user IPv6 prefix</em> and <em>MAP IPv6 address</em>).
Note: The <em>Domain</em> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>Domain</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.MAP.Domain.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.MAP.Domain.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>Domain</em> row.</li></ul>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MAP.Domain.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.MAP.Domain.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for both <a href="#D.Device:2.Device.MAP.Domain.WANInterface"><em>WANInterface</em></a> and <a href="#D.Device:2.Device.MAP.Domain.IPv6Prefix"><em>IPv6Prefix</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.MAP.Domain.PSIDOffset">PSIDOffset</span></td>
<td>unsignedInt(0:15)</td>
<td>W</td>
<td><em>Port-set ID</em> (PSID) offset in <em>bits</em>. The number of Port-sets is 2^<em>PSIDOffset</em>. Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>offset</em> field. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <a href="#D.Device:2.Device.MAP.Domain.Rule."><em>Rule.{i}.</em></a> object.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>6</td>
<td>2.8</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.MAP.Domain.PSIDLength">PSIDLength</span></td>
<td>unsignedInt(0:16)</td>
<td>W</td>
<td>The length in <em>bits</em> of the <em>Port-set id</em> (PSID) configured in the <a href="#D.Device:2.Device.MAP.Domain.PSID"><em>PSID</em></a> parameter. Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>PSID-len</em> field. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <a href="#D.Device:2.Device.MAP.Domain.Rule."><em>Rule.{i}.</em></a> object.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>0</td>
<td>2.8</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.MAP.Domain.PSID">PSID</span></td>
<td>unsignedInt(0:65535)</td>
<td>W</td>
<td><em>Port-set ID</em> (PSID) to use in preference to the value extracted from the <em>Embedded Address</em> (EA) bits. Only the high order <a href="#D.Device:2.Device.MAP.Domain.PSIDLength"><em>PSIDLength</em></a> bits of the <em>PSID</em> value are used, so the parameter is ignored when <a href="#D.Device:2.Device.MAP.Domain.PSIDLength"><em>PSIDLength</em></a> is zero. Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>PSID</em> field. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <a href="#D.Device:2.Device.MAP.Domain.Rule."><em>Rule.{i}.</em></a> object.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>0</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.CaptivePortal.">Device.CaptivePortal.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to the captive portal configuration on the CPE.
The captive portal configuration defines the CPE’s upstream HTTP (port 80) traffic redirect behavior.
When the captive portal is disabled, upstream HTTP (port 80) traffic MUST be permitted to all destinations.
When the captive portal is enabled, upstream HTTP (port 80) traffic MUST be permitted only to destinations listed in the <a href="#D.Device:2.Device.CaptivePortal.AllowedList"><em>AllowedList</em></a>; traffic to all other destinations MUST be redirected to the <a href="#D.Device:2.Device.CaptivePortal.URL"><em>URL</em></a>.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.CaptivePortal.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>Captive portal <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> to which upstream HTTP (port 80) traffic to destinations not listed in the <a href="#D.Device:2.Device.CaptivePortal.AllowedList"><em>AllowedList</em></a> will be redirected. The captive portal URL MUST be an HTTP (not HTTPS) URL. The CPE MUST permit the captive portal URL to be set to an empty string, which has the effect of disabling the captive portal (if <a href="#D.Device:2.Device.CaptivePortal.Enable"><em>Enable</em></a> is <em>true</em> and the captive portal URL is an empty string, <a href="#D.Device:2.Device.CaptivePortal.Status"><em>Status</em></a> MUST be <a href="#D.Device:2.Device.CaptivePortal.Status.Error_URLEmpty"><em>Error_URLEmpty</em></a>).

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:2000)</em> syntax</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Hosts.">Device.Hosts.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides information about each of the hosts on the LAN, including those whose IP address was allocated by the CPE using DHCP as well as hosts with statically allocated IP addresses. It can also include non-IP hosts.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.Hosts.AccessControlNumberOfEntries"><em>AccessControlNumberOfEntries</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.Hosts.AccessControl."><em>AccessControl.{i}.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControlNumberOfEntries">AccessControlNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.Hosts.AccessControl."><em>AccessControl</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Hosts.Host.">Device.Hosts.Host.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Host table.</p>

<p>At most one entry in this table can exist with a given value for <strong>{{param: reference to obsoleted parameter Device.Hosts.Host.{i}.Alias}}</strong>, or with a given value for <a href="#D.Device:2.Device.Hosts.Host.PhysAddress"><em>PhysAddress</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.Hosts.Host.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because <a href="#D.Device:2.Device.Hosts.Host."><em>Host</em></a> is a transient object.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span></li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.Hosts.Host.AddressSource">AddressSource</span></td>
<td>string</td>
<td>R</td>
<td><p>Indicates whether the IP address of the host was allocated by the CPE using DHCP, was assigned to the host statically, or was assigned using automatic IP address allocation. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Hosts.Host.AddressSource.DHCP"><em>DHCP</em></span></li>
<li><span id="D.Device:2.Device.Hosts.Host.AddressSource.Static"><em>Static</em></span></li>
<li><span id="D.Device:2.Device.Hosts.Host.AddressSource.AutoIP"><em>AutoIP</em></span></li>
<li><span id="D.Device:2.Device.Hosts.Host.AddressSource.None"><em>None</em></span>
This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because only <a href="#D.Device:2.Device.Hosts.Host.AddressSource.None"><em>None</em></a> and <a href="#D.Device:2.Device.Hosts.Host.AddressSource.DHCP"><em>DHCP</em></a> made sense (the CPE doesn’t know whether the address is <a href="#D.Device:2.Device.Hosts.Host.AddressSource.Static"><em>Static</em></a> or <a href="#D.Device:2.Device.Hosts.Host.AddressSource.AutoIP"><em>AutoIP</em></a>). The <a href="#D.Device:2.Device.Hosts.Host.AddressSource.DHCP"><em>DHCP</em></a> case is now handled via the <a href="#D.Device:2.Device.Hosts.Host.DHCPClient"><em>DHCPClient</em></a> reference.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span></li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.Hosts.Host.LeaseTimeRemaining">LeaseTimeRemaining</span></td>
<td>int(-1:)</td>
<td>R</td>
<td>DHCP lease time remaining in <em>seconds</em>. A value of -1 indicates an infinite lease. The value MUST be 0 (zero) if the <a href="#D.Device:2.Device.Hosts.Host.AddressSource"><em>AddressSource</em></a> is not <a href="#D.Device:2.Device.Hosts.Host.AddressSource.DHCP"><em>DHCP</em></a>. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because DHCP lease/lifetime information can be accessed via the <a href="#D.Device:2.Device.Hosts.Host.DHCPClient"><em>DHCPClient</em></a> reference.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Hosts.Host.AssociatedDevice">AssociatedDevice</span></td>
<td>string(:256)</td>
<td>R</td>
<td>The value MUST<span class="inserted"> be</span> the path name of the <em>AssociatedDevice</em> (or equivalent) table row that models the host, or an empty string if either there is no such table or the host isn’t directly connected to this device (e.g. the host is connected to a Wi-Fi Access Point). For example: <em>Device.WiFi.AccessPoint.1.AssociatedDevice.2</em></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.Hosts.Host.VendorClassID">VendorClassID</span></td>
<td>string(:255)</td>
<td>R</td>
<td>Vendor Class Identifier DHCP option (Option 60) of the host. This is a normal string, e.g. &ldquo;abc&rdquo; is represented as &ldquo;abc&rdquo; and not say &ldquo;616263&rdquo; hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. It MAY be defined when <a href="#D.Device:2.Device.Hosts.Host.AddressSource"><em>AddressSource</em></a> is <a href="#D.Device:2.Device.Hosts.Host.AddressSource.DHCP"><em>DHCP</em></a>. An empty string indicates this option is not used. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because host-supplied DHCP options can be accessed via the <a href="#D.Device:2.Device.Hosts.Host.DHCPClient"><em>DHCPClient</em></a> reference.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.Hosts.Host.ClientID">ClientID</span></td>
<td>hexBinary(:65535)</td>
<td>R</td>
<td>A hexbinary string, Client Identifier DHCP option (Option 61) for the specific IP connection of the client. The option value is binary, so an exact match is REQUIRED. It MAY be defined when <a href="#D.Device:2.Device.Hosts.Host.AddressSource"><em>AddressSource</em></a> is <a href="#D.Device:2.Device.Hosts.Host.AddressSource.DHCP"><em>DHCP</em></a>. An empty string indicates this option is not used. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. This parameter <span class="removed">is</span><span class="inserted">was</span> DEPRECATED because host-supplied DHCP options can be accessed via the <a href="#D.Device:2.Device.Hosts.Host.DHCPClient"><em>DHCPClient</em></a> reference.<span class="inserted"> This parameter is OBSOLETED in 2.14.</span>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="obsoleted-parameter">
<td><span id="D.Device:2.Device.Hosts.Host.UserClassID">UserClassID</span></td>
<td>hexBinary(:65535)</td>
<td>R</td>
<td>A hexbinary string, User Class Identifier DHCP option (Option 77) of the host.
It MAY be defined when <a href="#D.Device:2.Device.Hosts.Host.AddressSource"><em>AddressSource</em></a> is <a href="#D.Device:2.Device.Hosts.Host.AddressSource.DHCP"><em>DHCP</em></a>. An empty string indicates this option is not used.
Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535.
This parameter is DEPRECATED because host-supplied DHCP options can be accessed via the <a href="#D.Device:2.Device.Hosts.Host.DHCPClient"><em>DHCPClient</em></a> reference.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.">Device.Hosts.AccessControl.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Every instance of this object provides access control for a LAN device.
Access is allowed if no instance of <em>AccessControl</em> is defined for a device.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Hosts.AccessControl.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Hosts.AccessControl.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.Hosts.AccessControl.PhysAddress"><em>PhysAddress</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.PhysAddress">PhysAddress</span></td>
<td>string(:64)</td>
<td>W</td>
<td>Unique physical identifier of the device. For many layer 2 technologies this is typically a MAC address.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.HostName">HostName</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Any user defined name for the device.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.Hosts.AccessControl."><em>AccessControl</em></a> entry.</td>
<td>false</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.AccessPolicy">AccessPolicy</span></td>
<td>string</td>
<td>W</td>
<td><p>Allows or denies access for a device.
If <em>AccessPolicy</em> is set to &ldquo;Allow&rdquo;, device access is allowed based on the <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule."><em>Schedule</em></a> objects. Access is enabled if there is no <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule."><em>Schedule</em></a> object defined.
If <em>AccessPolicy</em> is set to &ldquo;Deny&rdquo;, defined <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule."><em>Schedule</em></a> objects are ignored and no access is allowed for the device.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Hosts.AccessControl.AccessPolicy.Allow"><em>Allow</em></span></li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.AccessPolicy.Deny"><em>Deny</em></span></li></ul></td>
<td>Allow</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.ScheduleNumberOfEntries">ScheduleNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule."><em>Schedule</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.">Device.Hosts.AccessControl.{i}.Schedule.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Each instance of this object provides a schedule where access is enabled.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule."><em>Schedule</em></a> entry.</td>
<td>false</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day">Day</span></td>
<td>string[]</td>
<td>W</td>
<td><p>Comma-separated list of strings. Comma-separated list of days which access is enabled. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day.Monday"><em>Monday</em></span></li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day.Tuesday"><em>Tuesday</em></span></li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day.Wednesday"><em>Wednesday</em></span></li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day.Thursday"><em>Thursday</em></span></li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day.Friday"><em>Friday</em></span></li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day.Saturday"><em>Saturday</em></span></li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Day.Sunday"><em>Sunday</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.StartTime">StartTime</span></td>
<td>string(:5)</td>
<td>W</td>
<td><p>Start time of the enable schedule in hh:mm format. [hh] refers to a zero-padded hour between 00 and 23. [mm] refers to a zero-padded minute between 00 and 59.
Start time is in local time zone.</p>

<p>Possible patterns:</p>

<ul>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.StartTime."><em>&lt;Empty&gt;</em></span> (an empty string)</li>
<li><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.StartTime.010-920-3:0-50-9"><code>([01][0-9]|2[0-3]):[0-5][0-9]</code></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.AccessControl.Schedule.Duration">Duration</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>The duration, in <em>seconds</em>, which the access is enabled.
If the <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule.StartTime"><em>StartTime</em></a> is not defined, duration is the total time access is allowed during a calendar day.
If a <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule.StartTime"><em>StartTime</em></a> is defined, access is allowed for the <em>Duration</em> period starting from <a href="#D.Device:2.Device.Hosts.AccessControl.Schedule.StartTime"><em>StartTime</em></a>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.">Device.DNS.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Properties for Domain Name Service (DNS).</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Client.">Device.DNS.Client.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Client properties for Domain Name Service (DNS). The DNS client resolves FQDN on behalf of device internal (client) applications.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Client.Server.">Device.DNS.Client.Server.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This table contains the DNS Server IP address to be used by the DHCP Client (it does <em>not</em> model a DNS Server). Entries are either automatically created as result of DHCP (v4 or v6), IPCP, or RA received DNS server information, or are statically configured by the Controller.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DNS.Client.Server.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DNS.Client.Server.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DNS.Client.Server.DNSServer"><em>DNSServer</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DNS.Client.Server.DNSServer">DNSServer</span></td>
<td><span title="IPAddress">string(:45)</span></td>
<td>W</td>
<td>[<a href="#T.IPAddress">IPAddress</a>] DNS server IP <span class="removed">addresses.</span><span class="inserted">address.</span> Note: <em>DNSServer</em> is only writable when <a href="#D.Device:2.Device.DNS.Client.Server.Type"><em>Type</em></a> is <a href="#D.Device:2.Device.DNS.Client.Server.Type.Static"><em>Static</em></a>; otherwise, <em>DNSServer</em> is automatically configured as result of DHCP, IPCP, or RA received DNS server information.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DNS.Client.Server.Type">Type</span></td>
<td>string</td>
<td>R</td>
<td><p>Method used to assign the <a href="#D.Device:2.Device.DNS.Client.Server.DNSServer"><em>DNSServer</em></a> address. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DNS.Client.Server.Type.DHCP"><em>DHCP</em></span> (</li></ul>

<p>Replaced by <a href="#D.Device:2.Device.DNS.Client.Server.Type.DHCPv4"><em>DHCPv4</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div>

<p>, OBSOLETED)</p>

<ul>
<li><span id="D.Device:2.Device.DNS.Client.Server.Type.DHCPv4"><em>DHCPv4</em></span></li>
<li><span id="D.Device:2.Device.DNS.Client.Server.Type.DHCPv6"><em>DHCPv6</em></span></li>
<li><span id="D.Device:2.Device.DNS.Client.Server.Type.RouterAdvertisement"><em>RouterAdvertisement</em></span></li>
<li><span id="D.Device:2.Device.DNS.Client.Server.Type.IPCP"><em>IPCP</em></span></li>
<li><span id="D.Device:2.Device.DNS.Client.Server.Type.Static"><em>Static</em></span>
Table entries that are automatically created as result of DHCP, IPCP, or RA received DNS server information will have <em>Type</em> set to <a href="#D.Device:2.Device.DNS.Client.Server.Type.DHCPv4"><em>DHCPv4</em></a>, <a href="#D.Device:2.Device.DNS.Client.Server.Type.DHCPv6"><em>DHCPv6</em></a>, <a href="#D.Device:2.Device.DNS.Client.Server.Type.IPCP"><em>IPCP</em></a>, or <a href="#D.Device:2.Device.DNS.Client.Server.Type.RouterAdvertisement"><em>RouterAdvertisement</em></a>, as the case may be. Manually created table entires will have their <em>Type</em> set to <a href="#D.Device:2.Device.DNS.Client.Server.Type.Static"><em>Static</em></a>.</li></ul></td>
<td>Static</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Relay.">Device.DNS.Relay.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>DNS Relay object. The DNS proxy (or relay) function allows the forwarding of local network DNS queries to local or external DNS server(s) [<a href="#R.RFC5625">RFC5625</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Relay.Forwarding.">Device.DNS.Relay.Forwarding.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>DNS Server forwarding policy to be used by the DNS Relay. Entries are either automatically created as result of DHCP (v4 or v6), IPCP, or RA received DNS server information, or are statically configured by the Controller.
Note: Management of re-directing queries to the device embedded DNS server is not defined in this version of the specification.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DNS.Relay.Forwarding.DNSServer"><em>DNSServer</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DNS.Relay.Forwarding.DNSServer">DNSServer</span></td>
<td><span title="IPAddress">string(:45)</span></td>
<td>W</td>
<td>[<a href="#T.IPAddress">IPAddress</a>] DNS server IP <span class="removed">addresses.</span><span class="inserted">address.</span> Note: <em>DNSServer</em> is only writable when <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type"><em>Type</em></a> is <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type.Static"><em>Static</em></a>; otherwise, <em>DNSServer</em> is automatically configured as result of DHCP, IPCP, or RA received DNS server information.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DNS.Relay.Forwarding.Type">Type</span></td>
<td>string</td>
<td>R</td>
<td><p>Method used to assign the <a href="#D.Device:2.Device.DNS.Relay.Forwarding.DNSServer"><em>DNSServer</em></a> address. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DNS.Relay.Forwarding.Type.DHCP"><em>DHCP</em></span> (</li></ul>

<p>Replaced by <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type.DHCPv4"><em>DHCPv4</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div>

<p>, OBSOLETED)</p>

<ul>
<li><span id="D.Device:2.Device.DNS.Relay.Forwarding.Type.DHCPv4"><em>DHCPv4</em></span></li>
<li><span id="D.Device:2.Device.DNS.Relay.Forwarding.Type.DHCPv6"><em>DHCPv6</em></span></li>
<li><span id="D.Device:2.Device.DNS.Relay.Forwarding.Type.RouterAdvertisement"><em>RouterAdvertisement</em></span></li>
<li><span id="D.Device:2.Device.DNS.Relay.Forwarding.Type.IPCP"><em>IPCP</em></span></li>
<li><span id="D.Device:2.Device.DNS.Relay.Forwarding.Type.Static"><em>Static</em></span>
Table entries that are automatically created as result of DHCP, IPCP, or RA received DNS server information will have <em>Type</em> set to <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type.DHCPv4"><em>DHCPv4</em></a>, <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type.DHCPv6"><em>DHCPv6</em></a>, <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type.IPCP"><em>IPCP</em></a>, or <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type.RouterAdvertisement"><em>RouterAdvertisement</em></a>, as the case may be. Manually created table entires will have their <em>Type</em> set to <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Type.Static"><em>Static</em></a>.</li></ul></td>
<td>Static</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.NAT.">Device.NAT.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Properties for Network Address Translation (NAT).
The entire <em>NAT</em> object only applies to IPv4.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.NAT.PortMapping.">Device.NAT.PortMapping.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Port mapping table.
This table MUST contain all NAT port mappings associated with this connection, including static and dynamic port mappings programmatically created via local control protocol, such as UPnP.
This table MUST NOT contain dynamic NAT binding entries associated with the normal operation of NAT.
If the CPE hosts a firewall, it is assumed that it will appropriately configure the firewall for the port mapping.
For enabled table entries, if <a href="#D.Device:2.Device.NAT.PortMapping.InternalClient"><em>InternalClient</em></a> is an empty string, or if <a href="#D.Device:2.Device.NAT.PortMapping.Interface"><em>Interface</em></a> is not a valid reference and <a href="#D.Device:2.Device.NAT.PortMapping.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.NAT.PortMapping.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.NAT.PortMapping.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.NAT.PortMapping.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.NAT.PortMapping.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.NAT.PortMapping.RemoteHost"><em>RemoteHost</em></a>, <a href="#D.Device:2.Device.NAT.PortMapping.ExternalPort"><em>ExternalPort</em></a> and <a href="#D.Device:2.Device.NAT.PortMapping.Protocol"><em>Protocol</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.NAT.PortMapping.LeaseDuration">LeaseDuration</span></td>
<td>unsignedInt</td>
<td>W</td>
<td><p>Determines the time to live, in <em>seconds</em>, of a port mapping lease, where &ldquo;time to live&rdquo; means the number of <span class="removed">seconds</span><span class="inserted"><em>seconds</em></span> before the port mapping expires. A value of 0 means the port mapping is static. Support for dynamic (non-static) port mappings is OPTIONAL. That is, the only value for <em>LeaseDuration</em> that MUST be supported is 0. For a dynamic (non-static) port mapping, when this parameter is read, the value represents the time remaining on the port mapping lease. That is, for a dynamic port mapping, the value counts down toward 0. When a dynamic port mapping lease expires, the CPE MUST automatically terminate that port mapping, and MUST automatically delete the corresponding <a href="#D.Device:2.Device.NAT.PortMapping."><em>PortMapping</em></a> table entry.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PCP.">Device.PCP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Properties for Port Control Protocol (PCP) [<a href="#R.RFC6887">RFC6887</a>].
See the PCP Theory of Operation [<a href="#R.TR-181i2">Appendix XIV/TR-181i2</a>] for a description of the working of this PCP data model.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PCP.Client.">Device.PCP.Client.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Client properties for Port Control Protocol (PCP). The PCP Client interacts with a PCP Server as defined in [<a href="#R.RFC6887">RFC6887</a>] for internal device applications or LAN device applications via Interworking functions.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PCP.Client.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.PCP.Client.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.PCP.Client.WANInterface"><em>WANInterface</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PCP.Client.Server.">Device.PCP.Client.{i}.Server.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This table contains the PCP Servers to be used by the PCP Client. Entries are either statically configured or automatically created via DHCP options OPTION_V4_PCP_SERVER and OPTION_V6_PCP_SERVER, as per [<a href="#R.RFC7291">RFC7291</a>].
Each OPTION_V4_PCP_SERVER or OPTION_V6_PCP_SERVER option corresponds to a <em>Server</em> instance. If an option returns multiple addresses then that <em>Server</em> instance has multiple addresses.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PCP.Client.Server.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.PCP.Client.Server.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.PCP.Client.Server.ServerNameOrAddress"><em>ServerNameOrAddress</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PCP.Client.Server.InboundMapping.">Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Inbound Mapping table. This table contains all Inbound Mappings requested by this PCP Client on this PCP Server. Such a mapping is created by a PCP request with OpCode MAP, as described in [<a href="#R.RFC6887">Section 11/RFC6887</a>]. These requests can be issued from internal device applications, from static configuration or from other LAN device applications via interworking functions such as UPnP IGD or PCP proxies. The <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.Origin"><em>Origin</em></a> parameter indicates which mechanism requested the mapping. For non-<a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.Origin.Static"><em>Static</em></a> mappings (here <em>Static</em> refers to the mechanism that created the mapping, not to the <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.Lifetime"><em>Lifetime</em></a>), the Controller MAY modify the <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.Enable"><em>Enable</em></a> parameter but MUST NOT modify any other parameters in the mapping or its sub-objects.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.InternalPort"><em>InternalPort</em></a>, <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.ProtocolNumber"><em>ProtocolNumber</em></a> and <a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.ThirdPartyAddress"><em>ThirdPartyAddress</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PCP.Client.Server.OutboundMapping.">Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Outbound Mapping table. This table contains all Outbound Mappings requested by this PCP Client on this PCP Server. Such a mapping is created by a PCP request with OpCode PEER, as described in [<a href="#R.RFC6887">Section 12/RFC6887</a>]. These requests can be issued from internal device applications, from static configuration or from other LAN device applications via interworking functions such as UPnP IGD or PCP proxies. The <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.Origin"><em>Origin</em></a> parameter indicates which mechanism requested the mapping. For non-<a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.Origin.Static"><em>Static</em></a> mappings (here <em>Static</em> refers to the mechanism that created the mapping, not to the <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.Lifetime"><em>Lifetime</em></a>), the Controller MAY modify the <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.Enable"><em>Enable</em></a> parameter but MUST NOT modify any other parameters in the mapping or its sub-objects.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.InternalPort"><em>InternalPort</em></a>, <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.ProtocolNumber"><em>ProtocolNumber</em></a>, <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.ThirdPartyAddress"><em>ThirdPartyAddress</em></a>, <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.RemoteHostIPAddress"><em>RemoteHostIPAddress</em></a> and <a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.RemotePort"><em>RemotePort</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.">Device.UPnP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains all UPnP related objects and parameters including Device and Discovery related objects and parameters.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Device.">Device.UPnP.Device.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the UPnP devices and UPnP services that are implemented by the CPE.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <a href="#D.Device:2.Device.UPnP.Device.UPnPQoSDevice"><em>UPnPQoSDevice</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.UPnP.Device.UPnPQoSDevice"><em>UPnPQoSDevice</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Device.UPnPQoSDevice">UPnPQoSDevice</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables/Disables UPnP QoS Device.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Discovery.">Device.UPnP.Discovery.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>UPnP [<a href="#R.UPnP-DAv1">UPnP-DAv1</a>] SSDP discovered root devices, embedded devices and embedded services.
The CPE MAY, but need not, retain some or all of the information in this object across reboots.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Discovery.RootDevice.">Device.UPnP.Discovery.RootDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>UPnP root device table. This table contains an entry for each UPnP root device that has been discovered via SSDP.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.UPnP.Discovery.RootDevice.UUID"><em>UUID</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Discovery.RootDevice.Location">Location</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>The value of the LOCATION header for this UPnP root device, which is the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the root device’s DDD (Device Description Document).

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Discovery.Device.">Device.UPnP.Discovery.Device.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>UPnP embedded device table. This table contains an entry for each UPnP embedded device that has been discovered via SSDP.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.UPnP.Discovery.Device.UUID"><em>UUID</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Discovery.Device.Location">Location</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>The value of the LOCATION header for this UPnP embedded device, which is the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the root device’s DDD (Device Description Document).

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Discovery.Service.">Device.UPnP.Discovery.Service.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>UPnP embedded service table. This table contains an entry for each UPnP embedded service that has been discovered via SSDP.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.UPnP.Discovery.Service.USN"><em>USN</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Discovery.Service.Location">Location</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>The value of the LOCATION header for this UPnP embedded service, which is the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the root device’s DDD (Device Description Document).

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Description.">Device.UPnP.Description.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains information from the Description Document discovered from the UPnP Devices and Services.</td>
<td>-</td>
<td>2.6</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Description.DeviceDescription.">Device.UPnP.Description.DeviceDescription.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table contains information read from the Device Description Document of discovered root devices.
The CPE MAY, but need not, retain some or all of the information in this table after the associated SSDP advertisement (objects in the UPnP.Discovery. object tables) expires.
In case the SSDP advertisement expires and the CPE deletes the related instances from the tables in UPnP.Discovery., the reference to such instances MUST be set to the empty string.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.UPnP.Description.DeviceDescription.URLBase"><em>URLBase</em></a>.</p></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Description.DeviceDescription.URLBase">URLBase</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>The value extracted from the URLBase element in the Device Description Document of the discovered root device. If the URLBase element in the root device’s Device Description Document is empty or absent, the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> from which the device description was retrieved (e.g. the LOCATION from the SSDP message) is utilized as the URLBase. Note: the URLBase element is not recommended by [<a href="#R.UPnP-DAv1">UPnP-DAv1</a>] and is not permitted by [<a href="#R.UPnP-DAv11">UPnP-DAv11</a>], so the value of <em>URLBase</em> will usually be the URL from which the device description was retrieved.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Description.DeviceInstance.">Device.UPnP.Description.DeviceInstance.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table contains the information from Device Description Document retrieved for a discovered UPnP root or embedded device.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.UPnP.Description.DeviceInstance.UDN"><em>UDN</em></a>.</p></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Description.DeviceInstance.ManufacturerURL">ManufacturerURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>[<a href="#T.URL">URL</a>] The value of the UPnP manufacturerURL element in the Device Description Document for this <a href="#D.Device:2.Device.UPnP.Description.DeviceInstance."><em>DeviceInstance</em></a>, or an empty string if this value is not provided by the device.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Description.DeviceInstance.ModelURL">ModelURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>[<a href="#T.URL">URL</a>] The value of the UPnP modelURL element in the Device Description Document for this <a href="#D.Device:2.Device.UPnP.Description.DeviceInstance."><em>DeviceInstance</em></a>, or an empty string if this value is not provided by the device.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Description.DeviceInstance.PresentationURL">PresentationURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>[<a href="#T.URL">URL</a>] The value of the UPnP presentationURL element in the Device Description Document for this <a href="#D.Device:2.Device.UPnP.Description.DeviceInstance."><em>DeviceInstance</em></a> and MUST be an absolute URL.
The way to obtain an absolute URL from the presentationURL element is specified in [<a href="#R.UPnP-DAv1">UPnP-DAv1</a>] and [<a href="#R.UPnP-DAv11">UPnP-DAv11</a>].
If the presentationURL is not provided by the device then this value MUST be an empty string.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPnP.Description.ServiceInstance.">Device.UPnP.Description.ServiceInstance.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table contains the information from Device Description Document retrieved for a discovered UPnP service.</p>

<p>At most one entry in this table can exist with the same values for both <a href="#D.Device:2.Device.UPnP.Description.ServiceInstance.ParentDevice"><em>ParentDevice</em></a> and <a href="#D.Device:2.Device.UPnP.Description.ServiceInstance.ServiceId"><em>ServiceId</em></a>.</p></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Description.ServiceInstance.SCPDURL">SCPDURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>The value of the UPnP SCPDURL element in the Device Description Document for this <a href="#D.Device:2.Device.UPnP.Description.ServiceInstance."><em>ServiceInstance</em></a> and MUST be an absolute <span class="removed">URL.</span><span class="inserted">[<a href="#T.URL">URL</a>].</span> The way to obtain an absolute URL from the SCPDURL element is specified in [<a href="#R.UPnP-DAv1">UPnP-DAv1</a>] and [<a href="#R.UPnP-DAv11">UPnP-DAv11</a>]. If the SCPDURL is not provided by the device then this value MUST be an empty string.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Description.ServiceInstance.ControlURL">ControlURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>The value of the UPnP controlURL element in the Device Description Document for this <a href="#D.Device:2.Device.UPnP.Description.ServiceInstance."><em>ServiceInstance</em></a> and MUST be an absolute <span class="removed">URL.</span><span class="inserted">[<a href="#T.URL">URL</a>].</span> The way to obtain an absolute URL from the controlURL element is specified in [<a href="#R.UPnP-DAv1">UPnP-DAv1</a>] and [<a href="#R.UPnP-DAv11">UPnP-DAv11</a>]. If the controlURL is not provided by the device then this value MUST be an empty string

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPnP.Description.ServiceInstance.EventSubURL">EventSubURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>The value of the UPnP eventSubURL element in the Device Description Document for this <a href="#D.Device:2.Device.UPnP.Description.ServiceInstance."><em>ServiceInstance</em></a> and MUST be an absolute <span class="removed">URL.</span><span class="inserted">[<a href="#T.URL">URL</a>].</span> The way to obtain an absolute URL from the eventSubURLL element is specified in [<a href="#R.UPnP-DAv1">UPnP-DAv1</a>] and [<a href="#R.UPnP-DAv11">UPnP-DAv11</a>]. If the eventSubURL is not provided by the device then this value MUST be an empty string

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Firewall.">Device.Firewall.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Firewall configuration object. The <a href="#D.Device:2.Device.Firewall.Config"><em>Config</em></a> parameter enables and disables the Firewall, and can select either a predefined configuration (<a href="#D.Device:2.Device.Firewall.Config.High"><em>High</em></a> or <a href="#D.Device:2.Device.Firewall.Config.Low"><em>Low</em></a>) or an explicitly-defined <a href="#D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></a> configuration.
For an <a href="#D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></a> configuration, <a href="#D.Device:2.Device.Firewall.AdvancedLevel"><em>AdvancedLevel</em></a> controls the currently active Firewall Level, and the Firewall Levels are defined in the <a href="#D.Device:2.Device.Firewall.Level."><em>Level</em></a>, <a href="#D.Device:2.Device.Firewall.Chain."><em>Chain</em></a> and <a href="#D.Device:2.Device.Firewall.Chain.Rule."><em>Chain.{i}.Rule</em></a> tables.
The Firewall rules modeled by this object operate only on the forwarding path. This means that they affect only routed traffic, and do not affect traffic that is destined for or generated by the CPE. Note that any <a href="#D.Device:2.Device.NAT."><em>NAT</em></a> processing on the ingress packet occurs before Firewall rules are applied so, for example, the Firewall rules will see the translated destination IP address and port in a downstream packet that has passed through the NAT.
See [<a href="#R.TR-181i2">Appendix VIII/TR-181i2</a>] for an example <a href="#D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></a> configuration.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Firewall.Config">Config</span></td>
<td>string</td>
<td>W</td>
<td><p>How this firewall is configured. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Firewall.Config.High"><em>High</em></span> (The firewall implements the &ldquo;Traffic Denied Inbound&rdquo; and &ldquo;Minimally Permit Common Services Outbound&rdquo; components of the ICSA residential certification’s Required Services Security Policy [<a href="#R.ICSA-Residential">ICSA-Residential</a>]. If DoS and vulnerability protections are implemented [<a href="#R.ICSA-Baseline">ICSA-Baseline</a>], these are enabled)</li>
<li><span id="D.Device:2.Device.Firewall.Config.Low"><em>Low</em></span> (All Outbound traffic and pinhole-defined Inbound traffic is allowed. If DoS and vulnerability protections are implemented [<a href="#R.ICSA-Baseline">ICSA-Baseline</a>], these are enabled)</li>
<li><span id="D.Device:2.Device.Firewall.Config.Off"><em>Off</em></span> (</li></ul>

<p>All Inbound and Outbound traffic is allowed, and the CPE is only protected by NAT settings (if supported and enabled). If DoS and vulnerability protections are implemented [<a href="#R.ICSA-Baseline">ICSA-Baseline</a>], these are disabled.
This value is DEPRECATED because it is the same as setting <a href="#D.Device:2.Device.Firewall.Enable"><em>Enable</em></a> to <em>false</em>.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed status = <em>deprecated</em> ⇒ <em>obsoleted</em></li></ul></div>

<p>, OBSOLETED)</p>

<ul>
<li><span id="D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></span> (Advanced firewall configuration applies, as specified by <a href="#D.Device:2.Device.Firewall.AdvancedLevel"><em>AdvancedLevel</em></a>, OPTIONAL)
Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in [<a href="#R.TR-106">Section 3.3/TR-106</a>] MUST be adhered to.</li></ul></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.">Device.FAP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object is the container for all Femto related component objects, to prevent pollution of the so-called global namespace of the BBF with FAP specific objects.</td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.PerfMgmt.">Device.FAP.PerfMgmt.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to Performance Management in a Femto-related environment.</td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.PerfMgmt.Config.">Device.FAP.PerfMgmt.Config.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object contains parameters relating to File Management configuration for uploading of Performance Files to a designated File Server. Each table entry can be referenced by zero or more radio-specific objects contained in the FAPService instances. The periodic upload will upload data for all of the radio-specific objects that reference it.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.FAP.PerfMgmt.Config.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.FAP.PerfMgmt.Config.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.FAP.PerfMgmt.Config.URL"><em>URL</em></a>, <a href="#D.Device:2.Device.FAP.PerfMgmt.Config.PeriodicUploadInterval"><em>PeriodicUploadInterval</em></a> and <a href="#D.Device:2.Device.FAP.PerfMgmt.Config.PeriodicUploadTime"><em>PeriodicUploadTime</em></a>.</p></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAP.PerfMgmt.Config.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td><span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> specifying the destination file location. HTTP and HTTPS transports MUST be supported. Other transports MAY be supported. This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:256)</em> syntax</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.">Device.FAP.ApplicationPlatform.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the data model for the following Femtozone APIs.

<ul>
<li>Femto Awareness</li>
<li>SMS</li>
<li>MMS</li>
<li>Terminal Location
Femto Awareness, SMS, MMS, and Terminal Location APIs are defined in the Release 1 API Specifications of the Service SIG in the Femto Forum (non public document).
[<a href="#R.TR-262">Appendix I/TR-262</a>] provides the &ldquo;Theory of Operation&rdquo; for the usage of this object.</li></ul></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.">Device.FAP.ApplicationPlatform.Control.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters related to the operation of the Femtozone APIs.</td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.FemtoAwareness.">Device.FAP.ApplicationPlatform.Control.FemtoAwareness.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters related to the Femto Awareness API.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing"><em>Queueing</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing"><em>Queueing</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing">Queueing</span></td>
<td>string</td>
<td>W</td>
<td><p>Determines how FAP handles simultaneous requests from different Applications to Femto Awareness API.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing.FiFo"><em>FiFo</em></span></li>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.FemtoAwareness.Queueing.Priority"><em>Priority</em></span></li></ul></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.SMS.">Device.FAP.ApplicationPlatform.Control.SMS.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters related to the SMS API.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.SMS.Queueing"><em>Queueing</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.SMS.Queueing"><em>Queueing</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.SMS.Queueing">Queueing</span></td>
<td>string</td>
<td>W</td>
<td><p>Determines how FAP handles simultaneous requests from different Applications to SMS API.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.SMS.Queueing.FiFo"><em>FiFo</em></span></li>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.SMS.Queueing.Priority"><em>Priority</em></span></li></ul></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.MMS.">Device.FAP.ApplicationPlatform.Control.MMS.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters related to the MMS API.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.MMS.Queueing"><em>Queueing</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.MMS.Queueing"><em>Queueing</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.MMS.Queueing">Queueing</span></td>
<td>string</td>
<td>W</td>
<td><p>Determines how FAP handles simultaneous requests from different Applications to MMS API.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.MMS.Queueing.FiFo"><em>FiFo</em></span></li>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.MMS.Queueing.Priority"><em>Priority</em></span></li></ul></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.TerminalLocation.">Device.FAP.ApplicationPlatform.Control.TerminalLocation.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters related to the TerminalLocation API.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing"><em>Queueing</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing"><em>Queueing</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing">Queueing</span></td>
<td>string</td>
<td>W</td>
<td><p>Determines how FAP handles simultaneous requests from different Applications to TerminalLocation API.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing.FiFo"><em>FiFo</em></span></li>
<li><span id="D.Device:2.Device.FAP.ApplicationPlatform.Control.TerminalLocation.Queueing.Priority"><em>Priority</em></span></li></ul></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.">Device.BulkData.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides bulk data collection capabilities and global collection settings that affect the entire device. Bulk Data utilizes various solutions (e.g., IPDR, HTTP) to collect data from devices and transfer the data to a collection server. The IPDR solution is based on a service specification described in [<a href="#R.TR-232">TR-232</a>]. The HTTP solution is based on transfer mechanisms described in <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****BULK-DATA-HTTP-REF<span class="removed">}}</span></span>.<span class="inserted"> </span> The Bulk Data Collection Profiles are measured over a reporting interval (which can be aligned with absolute time) and are made available to the collection server.</td>
<td>-</td>
<td>2.5</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.">Device.BulkData.Profile.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>A set of Bulk Data Collection profiles.
Each profile represents a bulk data report, including its own timing configuration, communications configuration, and set of parameters. This allows the Controller to configure multiple reports to be generated at different times for different sets of data.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.BulkData.Profile.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.BulkData.Profile.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.5</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.FileTransferURL">FileTransferURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>This is the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> within the CPE that is used by an IPDR Collector to retrieve the IPDRDocs when this collection profile is configured for the IPDR File Transfer Protocol [<a href="#R.IPDR-FTP">IPDR-FTP</a>] (the <a href="#D.Device:2.Device.BulkData.Profile.Protocol"><em>Protocol</em></a> parameter has a value of <a href="#D.Device:2.Device.BulkData.Protocols.File"><em>File</em></a>).

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.5</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.Parameter.">Device.BulkData.Profile.{i}.Parameter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td>Bulk data parameter table.
Each entry in this table represents a parameter (or set of parameters if a partial path is provided) to be collected and reported.</td>
<td>-</td>
<td>2.5</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.Parameter.Name">Name</span></td>
<td>string(:64)</td>
<td>W</td>
<td>Name of the parameter in the report body. If the value of this parameter is an empty string, then the value of the <a href="#D.Device:2.Device.BulkData.Profile.Parameter.Reference"><em>Reference</em></a> parameter is used as the name. When the value <a href="#D.Device:2.Device.BulkData.Profile.Parameter.Reference"><em>Reference</em></a> parameter contains wildcards and/or partial parameter names, the rules for determining the value of this parameter are specified in <span class="removed">[<a href="#R.TR-069">Annex N/TR-069</a>]</span><span class="inserted">[<a href="#R.TR-069">Annex N.3.1/TR-069</a>].</span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.">Device.BulkData.Profile.{i}.CSVEncoding.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the properties to be used when the <a href="#D.Device:2.Device.BulkData.Profile."><em>Profile</em></a> object’s <a href="#D.Device:2.Device.BulkData.Profile.EncodingType"><em>EncodingType</em></a> parameter value is <a href="#D.Device:2.Device.BulkData.EncodingTypes.CSV"><em>CSV</em></a>.</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.ReportFormat">ReportFormat</span></td>
<td>string</td>
<td>W</td>
<td><p>This parameter describes the formatting used for reports defined by this profile as described in <span class="removed">[<a href="#R.TR-069">Annex N.3.4/TR-069</a>]</span><span class="inserted">[<a href="#R.TR-069">Annex N.3.4/TR-069</a>]</span>. Note: This parameter is encoded as a token in the BBF-Report-Format header field and MUST NOT include spaces or other characters excluded from token characters defined in [<a href="#R.RFC2616">RFC2616</a>].</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.ReportFormat.ParameterPerRow"><em>ParameterPerRow</em></span> (Reports are formatted with each parameter formatted as a row entry)</li>
<li><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.ReportFormat.ParameterPerColumn"><em>ParameterPerColumn</em></span> (Reports are formatted with each parameter formatted as a column entry)</li></ul></td>
<td>ParameterPerColumn</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.RowTimestamp">RowTimestamp</span></td>
<td>string</td>
<td>W</td>
<td><p>The format of the timestamp to use for data inserted into the row.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.RowTimestamp.Unix-Epoch"><em>Unix-Epoch</em></span> (Timestamp is inserted using the UNIX epoch time (milliseconds since Jan 1, 1970 UTC) timestamp format. If the CPE is unable to acquire a time, then the time that has elapsed since the last reboot of the device is used)</li>
<li><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.RowTimestamp.ISO-8601"><em>ISO-8601</em></span> (Timestamp is inserted using the ISO-8601 timestamp format<span class="inserted">**{{template: non-existent }}**BULK-DATA-TIMESTAMP.</span>)</li>
<li><span id="D.Device:2.Device.BulkData.Profile.CSVEncoding.RowTimestamp.None"><em>None</em></span> (Timestamp is not inserted in the row)</li></ul></td>
<td>Unix-Epoch</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.">Device.BulkData.Profile.{i}.JSONEncoding.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the properties to be used when the <a href="#D.Device:2.Device.BulkData.Profile."><em>Profile</em></a> object’s <a href="#D.Device:2.Device.BulkData.Profile.EncodingType"><em>EncodingType</em></a> parameter value is <a href="#D.Device:2.Device.BulkData.EncodingTypes.JSON"><em>JSON</em></a>.</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.ReportFormat">ReportFormat</span></td>
<td>string</td>
<td>W</td>
<td><p>This parameter describes the formatting used for the report as described in <span class="removed">[<a href="#R.TR-069">Annex N.3.5/TR-069</a>]</span><span class="inserted">[<a href="#R.TR-069">Annex N.3.5/TR-069</a>]</span>. Note: This parameter is encoded as a token in the BBF-Report-Format header field and MUST NOT include spaces or other characters excluded from token characters defined in [<a href="#R.RFC2616">RFC2616</a>].</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.ReportFormat.ObjectHierarchy"><em>ObjectHierarchy</em></span> (Reports are formatted with each object in the object hierarchy of the data model encoded as a corresponding hierarchy of JSON Objects with the parameters of the object specified as name/value pairs of the JSON Object)</li>
<li><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.ReportFormat.NameValuePair"><em>NameValuePair</em></span> (Reports are formatted with each parameter of the data model encoded as a corresponding array of JSON Objects with the parameters specified as name/value pairs)</li></ul></td>
<td>ObjectHierarchy</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.ReportTimestamp">ReportTimestamp</span></td>
<td>string</td>
<td>W</td>
<td><p>The format of timestamp to use for the JSON Object named &ldquo;CollectionTime&rdquo; as described in <span class="removed">[<a href="#R.TR-069">Annex N.3.5.1/TR-069</a>]</span><span class="inserted">[<a href="#R.TR-069">Annex N.3.5/TR-069</a>]</span>.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.ReportTimestamp.Unix-Epoch"><em>Unix-Epoch</em></span> (Timestamp is inserted using the UNIX epoch time (milliseconds since Jan 1, 1970 UTC) timestamp format. If the CPE is unable to acquire a time, then the time that has elapsed since the last reboot of the device is used)</li>
<li><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.ReportTimestamp.ISO-8601"><em>ISO-8601</em></span> (Timestamp is inserted using the ISO-8601 timestamp <span class="inserted">format**{{template: non-existent }}**BULK-DATA-TIMESTAMP.</span>)</li>
<li><span id="D.Device:2.Device.BulkData.Profile.JSONEncoding.ReportTimestamp.None"><em>None</em></span> (Timestamp is not inserted)</li></ul></td>
<td>Unix-Epoch</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.">Device.BulkData.Profile.{i}.HTTP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the properties to be used when transporting bulk data using the HTTP/HTTPS protocol. This object is used when the <a href="#D.Device:2.Device.BulkData.Profile.Protocol"><em>Protocol</em></a> parameter has a value of <a href="#D.Device:2.Device.BulkData.Protocols.HTTP"><em>HTTP</em></a>. For authentication purposes the CPE MUST support HTTP Basic and Digest Access Authentication as defined in [<a href="#R.RFC2616">RFC2616</a>].</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL, as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> for the collection server to receive the Bulk Data transmitted by the CPE.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:1024)</em> syntax</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.RetryMinimumWaitInterval">RetryMinimumWaitInterval</span></td>
<td>unsignedInt(1:65535)</td>
<td>W</td>
<td>Configures the data transfer retry wait interval, in seconds, as specified in <span class="removed">[<a href="#R.TR-069">Annex N.2.2.1/TR-069</a>]</span><span class="inserted">[<a href="#R.TR-069">Annex N.2.2.1/TR-069</a>]</span>. The device MUST use a random value between <em>RetryMinimumWaitInterval</em> and (<em>RetryMinimumWaitInterval</em> * <a href="#D.Device:2.Device.BulkData.Profile.HTTP.RetryIntervalMultiplier"><em>RetryIntervalMultiplier</em></a> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.</td>
<td>5</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.RetryIntervalMultiplier">RetryIntervalMultiplier</span></td>
<td>unsignedInt(1000:65535)</td>
<td>W</td>
<td>Configures the retry interval multiplier as specified in <span class="removed">[<a href="#R.TR-069">Annex N.2.2.1/TR-069</a>]</span><span class="inserted">[<a href="#R.TR-069">Annex N.2.2.1/TR-069</a>]</span>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. The device MUST use a random value between <a href="#D.Device:2.Device.BulkData.Profile.HTTP.RetryMinimumWaitInterval"><em>RetryMinimumWaitInterval</em></a> and (<a href="#D.Device:2.Device.BulkData.Profile.HTTP.RetryMinimumWaitInterval"><em>RetryMinimumWaitInterval</em></a> * <em>RetryIntervalMultiplier</em> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.</td>
<td>2000</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.RequestURIParameter.">Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td>This object represents an instance of a parameter to be used in the report header used as part of the HTTP Request-URI transmitted by the CPE to the collection server using the Request-URI in addition to the parameters required by <span class="removed">[<a href="#R.TR-069">Annex N.2.1/TR-069</a>]</span><span class="inserted">[<a href="#R.TR-069">Annex N.2.1/TR-069</a>]</span>.</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.XMPP.">Device.XMPP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The <em>XMPP</em> represents the XMPP capabilities of the device<span class="removed">, as described in [<a href="#R.TR-069">Appendix III/TR-069</a>].</span><span class="inserted">, as described in [<a href="#R.TR-069">Appendix III/TR-069</a>].</span></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.XMPP.Connection.">Device.XMPP.Connection.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>The <em>Connection</em> represents a XMPP connection between the device and a server. The <a href="#D.Device:2.Device.XMPP.Connection.Username"><em>Username</em></a>, <a href="#D.Device:2.Device.XMPP.Connection.Domain"><em>Domain</em></a> and <a href="#D.Device:2.Device.XMPP.Connection.Resource"><em>Resource</em></a> comprise the full identity (JabberID) of this <em>Connection</em> for this device.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.XMPP.Connection.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.XMPP.Connection.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.XMPP.Connection.Username"><em>Username</em></a>, <a href="#D.Device:2.Device.XMPP.Connection.Domain"><em>Domain</em></a> and <a href="#D.Device:2.Device.XMPP.Connection.Resource"><em>Resource</em></a>.</p></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.XMPP.Connection.ServerRetryInitialInterval">ServerRetryInitialInterval</span></td>
<td>unsignedInt(1:65535)</td>
<td>W</td>
<td>The maximum first reconnection wait interval, in <em>seconds</em><span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****XMPP-REF<span class="removed">}}</span>.</span> The Device MUST use a random value between <em>0</em> and <em>ServerRetryInitialInterval</em> as the first reconnection wait interval. NOTE: If the value of the <a href="#D.Device:2.Device.XMPP.Connection.ServerConnectAttempts"><em>ServerConnectAttempts</em></a> parameter is 0, the value of this parameter is ignored.</td>
<td>60</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.XMPP.Connection.ServerRetryIntervalMultiplier">ServerRetryIntervalMultiplier</span></td>
<td>unsignedInt(1000:65535)</td>
<td>W</td>
<td>The reconnection interval multiplier<span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****XMPP-REF<span class="removed">}}</span>.</span> This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. For the <em>n</em>th reconnection wait interval, the Device MUST use a random value, in <em>seconds</em>, between <em>0</em> and <a href="#D.Device:2.Device.XMPP.Connection.ServerRetryInitialInterval"><em>ServerRetryInitialInterval</em></a> * (<em>ServerRetryIntervalMultiplier</em> / 1000) ** (<em>n</em> - <em>1</em>). NOTE: If the value of the <a href="#D.Device:2.Device.XMPP.Connection.ServerConnectAttempts"><em>ServerConnectAttempts</em></a> parameter is 0, the value of this parameter is ignored.</td>
<td>2000</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.">Device.IEEE1905.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the management functions for the 1905 capabilities as defined in [<a href="#R.IEEE1905.1a">IEEE1905.1a</a>].</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.">Device.IEEE1905.AL.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the management functions for the 1905 Abstraction Layer as defined in [<a href="#R.IEEE1905.1a">Section 4.4 Abstraction Layer/IEEE1905.1a</a>].</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.Interface.">Device.IEEE1905.AL.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>The 1905 interface table (described in [<a href="#R.IEEE1905.1a">Sub-clause 5 Abstraction Layer Management/IEEE1905.1a</a>]).</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.IEEE1905.AL.Interface.InterfaceId"><em>InterfaceId</em></a>.</p></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.Interface.GenericPhyURL">GenericPhyURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td><span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> to<span class="inserted"> the</span> Generic Phy XML Description of the Generic Phy networking technology of the local interface that would be included in a Generic Phy Device Information Type TLV defined in [<a href="#R.IEEE1905.1a">Table 6-29: Generic Phy device information type TLV/IEEE1905.1a</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:1024)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.Interface.Link.">Device.IEEE1905.AL.Interface.{i}.Link.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object defines the 1905 neighbors and link properties.</p>

<p>At most one entry in this table can exist with the same values for both <a href="#D.Device:2.Device.IEEE1905.AL.Interface.Link.InterfaceId"><em>InterfaceId</em></a> and <a href="#D.Device:2.Device.IEEE1905.AL.Interface.Link.IEEE1905Id"><em>IEEE1905Id</em></a>.</p></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.Interface.Link.GenericPhyURL">GenericPhyURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td><span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> to<span class="inserted"> the</span> Generic Phy XML Description of the Generic Phy networking technology of the interface of the Neighbor for this <a href="#D.Device:2.Device.IEEE1905.AL.Interface.Link."><em>Link</em></a>. This value is from a Generic Phy response message URL to Generic Phy field as defined in [<a href="#R.IEEE1905.1a">Table 6-29: Generic Phy device information type TLV/IEEE1905.1a</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:1024)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.">Device.IEEE1905.AL.NetworkTopology.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the 1905 Network Topology capabilities of this device.</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.">Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents an instance of discovered 1905 Devices in the network (received Topology discovery message as defined in [<a href="#R.IEEE1905.1a">Clause 6.3.1/IEEE1905.1a</a>]).</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.IEEE1905Id"><em>IEEE1905Id</em></a>.</p></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.ControlURL">ControlURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>Control <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> received in Higher Layer response message as defined in defined in [<a href="#R.IEEE1905.1a">Table 6-31: Control URL Type TLV/IEEE1905.1a</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:1024)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.Interface.">Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents an instance of an interface for the <a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device."><em>IEEE1905Device</em></a>.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.Interface.InterfaceId"><em>InterfaceId</em></a>.</p></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.Interface.GenericPhyURL">GenericPhyURL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td><span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> to<span class="inserted"> the</span> Generic Phy XML Description of the Generic Phy networking technology of this <a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.Interface."><em>Interface</em></a>. This value is from a Generic Phy response message URL to generic phy field as defined in [<a href="#R.IEEE1905.1a">Table 6-29: Generic Phy device information type TLV/IEEE1905.1a</a>].

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:1024)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.">Device.MQTT.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>MQTT Base object describing all MQTT related parameters and objects.</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.Client.">Device.MQTT.Client.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>MQTT client table. Contains a list of configured MQTT clients.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MQTT.Client.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.MQTT.Client.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.MQTT.Client.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.MQTT.Client.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.MQTT.Client.EnableEncryption"><em>EnableEncryption</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.MQTT.Client.EnableEncryption">EnableEncryption</span></td>
<td>boolean</td>
<td>W</td>
<td>When <em>true</em>, encryption MUST be used for this MQTT <a href="#D.Device:2.Device.MQTT.Client."><em>Client</em></a> instance.</td>
<td>true</td>
<td>2.14</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.CleanSession">CleanSession</span></td>
<td>boolean</td>
<td>W</td>
<td>The value of the MQTT clean session flag in the MQTT CONNECT packet (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>] and [<a href="#R.MQTT31">Section 3.1.2.4/MQTT31</a>]). If this flag is set to <em>true</em> (default), the MQTT broker will delete all subscription information after a Disconnect. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> This parameter only applies if <a href="#D.Device:2.Device.MQTT.Client.ProtocolVersion"><em>ProtocolVersion</em></a> is set to <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1"><em>3.1</em></a> or <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1.1"><em>3.1.1</em></a>.</td>
<td>true</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.CleanStart">CleanStart</span></td>
<td>boolean</td>
<td>W</td>
<td>The value of the MQTT Clean Start flag in the MQTT CONNECT packet (see [<a href="#R.MQTT50">Section 3.1.2.4/MQTT50</a>]. If this flag is set to <em>true</em> (default), the MQTT broker will delete all subscription information after a Disconnect. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span>. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>true</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillEnable">WillEnable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the will handling (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.2.5/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.2.5/MQTT50</a>]). If the connection gets enabled and this parameter is set to <em>true</em> and either the parameter <a href="#D.Device:2.Device.MQTT.Client.WillTopic"><em>WillTopic</em></a> or <a href="#D.Device:2.Device.MQTT.Client.WillValue"><em>WillValue</em></a> are an empty string, the CPE MUST set the <a href="#D.Device:2.Device.MQTT.Client.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.MQTT.Client.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span>.</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillQoS">WillQoS</span></td>
<td>unsignedInt(0:2)</td>
<td>W</td>
<td>The MQTT QoS level assigned with the will message (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.2.6/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.2.6/MQTT50</a>]). This parameter is only used if <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTWillChange<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillRetain">WillRetain</span></td>
<td>boolean</td>
<td>W</td>
<td>Indicate to the MQTT broker to retain the Will over a Disconnect (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.2.7/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.2.7/MQTT50</a>]). This parameter is only used if <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTWillChange<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.KeepAliveTime">KeepAliveTime</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>Keep Alive Time in <em>seconds</em> defines the maximum wait time after which a packet has to be sent to the MQTT broker (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.2.10/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.2.10/MQTT50</a>]). If no regular packet can be sent a MQTT PINGREQ packet is sent. A value of zero (0) means no keep alive packets are sent and the MQTT client is not disconnected by the server. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span></td>
<td>60</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.SessionExpiryInterval">SessionExpiryInterval</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>Session expiry interval in <em>seconds</em> defines the wait time before a session expires after the connection has been closed by the MQTT client [<a href="#R.MQTT50">Section 3.1.2.11.2/MQTT50</a>]). <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.ReceiveMaximum">ReceiveMaximum</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The MQTT client uses this value to limit the number of QoS 1 and QoS 2 publications that it is willing to process concurrently (see [<a href="#R.MQTT50">Section 3.1.2.11.3/MQTT50</a>]). <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.MaximumPacketSize">MaximumPacketSize</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The maximum packet size in <em>byte</em> the MQTT client can and will accept from the MQTT broker. A value of 0 means no limit. If the value is set to another value, the MQTT client will inform the broker in the next CONNECT packet [<a href="#R.MQTT50">Section 3.1.2.11.4/MQTT50</a>]). <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.TopicAliasMaximum">TopicAliasMaximum</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>This value indicates the highest value that the MQTT client will accept as a Topic Alias sent by the Server (see [<a href="#R.MQTT50">Section 3.1.2.11.5/MQTT50</a>]). The MQTT client uses this value to limit the number of Topic Aliases that it is willing to hold on this connection. A value of 0 indicates that Topic Alias is not supported. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.RequestResponseInfo">RequestResponseInfo</span></td>
<td>boolean</td>
<td>W</td>
<td>The MQTT client uses this value in a MQTT CONNECT packet to request the Server to return Response Information in the MQTT CONNACK (see [<a href="#R.MQTT50">Section 3.1.2.11.6/MQTT50</a>]). <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.RequestProblemInfo">RequestProblemInfo</span></td>
<td>boolean</td>
<td>W</td>
<td>This value indicates whether the Reason String or User Properties are sent in the case of failures.(see [<a href="#R.MQTT50">Section 3.1.2.11.7/MQTT50</a>]). <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.AuthenticationMethod">AuthenticationMethod</span></td>
<td>string(0:256)</td>
<td>W</td>
<td>This value defines the extended authentication method to be used (see [<a href="#R.MQTT50">Section 3.1.2.11.9/MQTT50</a>]). If the parameter is empty, no extended authentication is performed. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.ClientID">ClientID</span></td>
<td>string(0:65535)</td>
<td>W</td>
<td>The MQTT client identifier used in the MQTT CONNECT packet (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.3.1/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.3.1/MQTT50</a>]). If <a href="#D.Device:2.Device.MQTT.Client.ProtocolVersion"><em>ProtocolVersion</em></a> is set to <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1"><em>3.1</em></a> or <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1.1"><em>3.1.1</em></a>, this parameter MUST NOT be an empty string. If <a href="#D.Device:2.Device.MQTT.Client.ProtocolVersion"><em>ProtocolVersion</em></a> is set to <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.5.0"><em>5.0</em></a>, an empty string is allowed. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillDelayInterval">WillDelayInterval</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The delay in <em>seconds</em> after the session is disconnected, before sending the Will message [<a href="#R.MQTT50">Section 3.1.3.2.2/MQTT50</a>]). A value of 0 indicates that there is no delay. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTWillChange<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>5</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillMessageExpiryInterval">WillMessageExpiryInterval</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The lifetime in <em>seconds</em> of a Will Message (see [<a href="#R.MQTT50">Section 3.1.3.2.4/MQTT50</a>]). A value of 0 indicates that no message expiry interval value is specified for in the will message properties of a CONNECT packet. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillContentType">WillContentType</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Describes the type of the <a href="#D.Device:2.Device.MQTT.Client.WillValue"><em>WillValue</em></a> [<a href="#R.MQTT50">Section 3.1.3.2.5/MQTT50</a>]). <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTWillChange<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillResponseTopic">WillResponseTopic</span></td>
<td>string(:65535)</td>
<td>W</td>
<td>Topic Name for a will response message. The presence of a Response Topic identifies the Will Message as a Request [<a href="#R.MQTT50">Section 3.1.3.2.6/MQTT50</a>]). If the <em>WillResponseTopic</em> is an empty string the will response topic will not be sent in a MQTT CONNECT packet. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTWillChange<span class="removed">}}</span></span> <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillTopic">WillTopic</span></td>
<td>string(:65535)</td>
<td>W</td>
<td>The Topic sent in the Will Message (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.3.3/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.3.3/MQTT50</a>]). This parameter is only used if <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTWillChange<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillValue">WillValue</span></td>
<td>string(:65535)</td>
<td>W</td>
<td>The value sent in the Will Message (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.2.5/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.3.4/MQTT50</a>]). This parameter is only used if <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTWillChange<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.PublishMessageExpiryInterval">PublishMessageExpiryInterval</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The lifetime in <em>seconds</em> of a PUBLISH Message (see [<a href="#R.MQTT50">Section 3.3.2.3.3/MQTT50</a>]). A value of 0 indicates that no message expiry interval value is included in the PUBLISH packet. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTT50ONLY<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.Broker.">Device.MQTT.Broker.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>MQTT broker table. Contains a list of configured MQTT brokers.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.MQTT.Broker.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.MQTT.Broker.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.">Device.MQTT.Broker.{i}.Bridge.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Configures MQTT bridges, which are used to communicate with other MQTT brokers.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.CleanSession">CleanSession</span></td>
<td>boolean</td>
<td>W</td>
<td>The value of the MQTT clean session flag in the MQTT CONNECT packet (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>] and [<a href="#R.MQTT31">Section 3.1.2.4/MQTT31</a>]) to establish a MQTT bridge connection. If this flag is set to <em>true</em> (default), the remote MQTT broker will delete all subscription information after a Disconnect. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span> This parameter only applies if <a href="#D.Device:2.Device.MQTT.Broker.Bridge.ProtocolVersion"><em>ProtocolVersion</em></a> is set to <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1"><em>3.1</em></a> or <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1.1"><em>3.1.1</em></a>.</td>
<td>true</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.CleanStart">CleanStart</span></td>
<td>boolean</td>
<td>W</td>
<td>The value of the MQTT Clean Start flag in the MQTT CONNECT packet (see [<a href="#R.MQTT50">Section 3.1.2.4/MQTT50</a>] to establish a MQTT bridge connection. If this flag is set to <em>true</em> (default), the remote MQTT broker will delete all subscription information after a Disconnect. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span>. This parameter only applies if <a href="#D.Device:2.Device.MQTT.Broker.Bridge.ProtocolVersion"><em>ProtocolVersion</em></a> is set to <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.5.0"><em>5.0</em></a>.</td>
<td>true</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.KeepAliveTime">KeepAliveTime</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>Keep Alive Time in <em>seconds</em> defines the maximum wait time after which a packet has to be sent to the remote MQTT broker (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.2.10/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.2.10/MQTT50</a>]). If no regular packet can be sent a MQTT PINGREQ packet is sent. A value of zero (0) means no keep alive packets are sent and the bridge is not disconnected by the server. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span></td>
<td>60</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.ClientID">ClientID</span></td>
<td>string(0:65535)</td>
<td>W</td>
<td>The MQTT client identifier used in the CONNECT packet (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>], [<a href="#R.MQTT31">Section 3.1.3.1/MQTT31</a>]) or [<a href="#R.MQTT50">Section 3.1.3.1/MQTT50</a>]). If <a href="#D.Device:2.Device.MQTT.Broker.Bridge.ProtocolVersion"><em>ProtocolVersion</em></a> is set to <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1"><em>3.1</em></a> or <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.3.1.1"><em>3.1.1</em></a>, this parameter MUST NOT be an empty string. If <a href="#D.Device:2.Device.MQTT.Broker.Bridge.ProtocolVersion"><em>ProtocolVersion</em></a> is set to <a href="#D.Device:2.Device.MQTT.Capabilities.ProtocolVersionsSupported.5.0"><em>5.0</em></a>, an empty string is allowed. <span class="removed">**{{templ: non-existent </span><span class="inserted">**{{template: non-existent }}****MQTTReconnect<span class="removed">}}</span></span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.">Device.LMAP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the objects necessary to manage and control the functionality for Large-Scale Measurement of Broadband Performance[<a href="#R.RFC7594">RFC7594</a>] as defined in by [<a href="#R.LMAPIFM">LMAPIFM</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.">Device.LMAP.MeasurementAgent.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents the measurement agent that performs measurement tasks and reporting functions defined in [<a href="#R.RFC7594">RFC7594</a>].</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Identifier"><em>Identifier</em></a>.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.">Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents the properties communication channel used to establish communication between a measurement agent and other elements of the LMAP framework (e.g., measurement controller, measurement collector). The value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Name"><em>Name</em></a> parameter used for conveying information is defined as an option in the Task’s or scheduled Task’s option parameter.
When this object uses the BulkData capability, a <a href="#D.Device:2.Device.BulkData.Profile."><em>BulkData.Profile.{i}</em></a> object instance referred to by this object.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Target">Target</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td>The <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> of the LMAP component that is the target of this communication channel.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:256)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.WWC.">Device.WWC.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Base object for Wireline Wireless Convergence. The controller can use this object to learn the supported 5G features and whether the 5G-RG is operating in 5G mode.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.HwCapabilities">HwCapabilities</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. Wireline Wireless Convergence hardware capabilities supported by the CPE. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.HwCapabilities.NG-RAN"><em>NG-RAN</em></span> (Able to use the 5G Radio Access Network)</li>
<li><span id="D.Device:2.Device.WWC.HwCapabilities.E-UTRAN"><em>E-UTRAN</em></span> (Able to use the 4G (LTE) Radio Access Network)</li>
<li><span id="D.Device:2.Device.WWC.HwCapabilities.W-5GAN"><em>W-5GAN</em></span> (Able to use fixed access networks)</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.SwCapabilities">SwCapabilities</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. Wireline Wireless Convergence software capabilities supported by the CPE. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.SwCapabilities.FN-RG"><em>FN-RG</em></span> (Able to use PPPoE or IPoE as specified in [<a href="#R.TR-124i5">TR-124i5</a>] or earlier)</li>
<li><span id="D.Device:2.Device.WWC.SwCapabilities.5G-RG"><em>5G-RG</em></span> (Able to use 5G capabilities such as specified in [<a href="#R.TR-124i6">TR-124i6</a>])</li>
<li><span id="D.Device:2.Device.WWC.SwCapabilities.ATSSS"><em>ATSSS</em></span> (Able to support multi access PDUs using Access Traffic Steering Switching Splitting (ATSSS))</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.Mode">Mode</span></td>
<td>string</td>
<td>W</td>
<td><p>Sets the mode the CPE is operating in. Whilst the CPE is expected to auto-negotiate, a service provider may need to lock the CPE in <a href="#D.Device:2.Device.WWC.Mode.FN-RG"><em>FN-RG</em></a> or <a href="#D.Device:2.Device.WWC.Mode.5G-RG"><em>5G-RG</em></a> mode for stability. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.Mode.FN-RG"><em>FN-RG</em></span> (The CPE only attempts to authenticate using PPPoE or IPoE)</li>
<li><span id="D.Device:2.Device.WWC.Mode.5G-RG"><em>5G-RG</em></span> (The CPE only attempts to register using 5G NAS)</li>
<li><span id="D.Device:2.Device.WWC.Mode.Auto"><em>Auto</em></span> (The CPE may operate in either mode)</li></ul>

<p>The factory default value MUST be <em>Auto</em>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The mode the CPE is operating in. A CPE in <a href="#D.Device:2.Device.WWC.Status.Negotiating"><em>Negotiating</em></a> is deemed to be auto-negotiating its operational mode. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.Status.FN-RG"><em>FN-RG</em></span></li>
<li><span id="D.Device:2.Device.WWC.Status.5G-RG"><em>5G-RG</em></span></li>
<li><span id="D.Device:2.Device.WWC.Status.Negotiating"><em>Negotiating</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetworkNumberOfEntries">AccessNetworkNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.WWC.AccessNetwork."><em>AccessNetwork</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSPNumberOfEntries">URSPNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.WWC.URSP."><em>URSP</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.">Device.WWC.AccessNetwork.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Each table entry describes a single access network. The entire table is built by the 5G-RG upon startup. The primary purpose is to show the registration and connectivity status of each access network. Typically a 5G-RG would register on each available access network. A minimum of one access network must be in the CM-CONNECTED state in order to support N1 messaging.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WWC.AccessNetwork.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.WWC.AccessNetwork.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.Name">Name</span></td>
<td>string(:64)</td>
<td>R</td>
<td>The textual name of the Access Network entry as assigned by the CPE.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.Interface">Interface</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The value MUST be the Path Name of a table row. Specifies the egress interface associated with this &ldquo;AccessNetwork&rdquo; entry. This MUST be a layer 1 interface.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus">RegistrationStatus</span></td>
<td>string</td>
<td>R</td>
<td><p>The registration status of this entry. See [<a href="#R.3GPP-TS.23.501">Clause 5.3.2/3GPP-TS.23.501</a>]. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus.RM_REGISTERED"><em>RM_REGISTERED</em></span> (The 5G-RG has sucessfully authenticated and has been assigned an AMF to manage it)</li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus.RM_DEREGISTERED"><em>RM_DEREGISTERED</em></span> (The 5G-RG is no longer managed by an AMF)</li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus.RM_UNDEFINED"><em>RM_UNDEFINED</em></span> (The access network will always start in this state and indicates that the 5G-RG has never registered to the access network. This state is only used by the 5G-RG and is never present in the AMF)</li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus.Error"><em>Error</em></span> (The <a href="#D.Device:2.Device.WWC.AccessNetwork.LastError"><em>LastError</em></a> parameter is updated with the detail of this error)
The <a href="#D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus.Error"><em>Error</em></a> value MAY be used by the CPE to indicate a locally defined error condition.</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus">ConnectionStatus</span></td>
<td>string</td>
<td>R</td>
<td><p>The connection status of this entry. A 5G-RG is deemed in the <a href="#D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus.CM_CONNECTED"><em>CM_CONNECTED</em></a> state if there is a NAS signalling connection established between the 5G-RG and AMF. If <a href="#D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus"><em>RegistrationStatus</em></a> transitions from <a href="#D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus.RM_REGISTERED"><em>RM_REGISTERED</em></a> to <a href="#D.Device:2.Device.WWC.AccessNetwork.RegistrationStatus.RM_DEREGISTERED"><em>RM_DEREGISTERED</em></a>, the status of <em>ConnectionStatus</em> must change to <a href="#D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus.CM_UNDEFINED"><em>CM_UNDEFINED</em></a>. See [<a href="#R.3GPP-TS.23.501">Clause 5.3.3/3GPP-TS.23.501</a>]. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus.CM_IDLE"><em>CM_IDLE</em></span> (The 5G-RG does not have a NAS connection over N1 to the AMF)</li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus.CM_CONNECTED"><em>CM_CONNECTED</em></span> (The 5G-RG does have a NAS connection over N1 to the AMF)</li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus.CM_UNDEFINED"><em>CM_UNDEFINED</em></span> (The access network will always start in this state and indicates that the 5G-RG is not registered to the access network. This state is only used by the 5G-RG and is never present in the AMF)</li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus.Error"><em>Error</em></span> (The <a href="#D.Device:2.Device.WWC.AccessNetwork.LastError"><em>LastError</em></a> parameter is updated with the detail of this error)
The <a href="#D.Device:2.Device.WWC.AccessNetwork.ConnectionStatus.Error"><em>Error</em></a> value MAY be used by the CPE to indicate a locally defined error condition.</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.AccessNetworkType">AccessNetworkType</span></td>
<td>string</td>
<td>R</td>
<td><p>The access network type of this entry. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.AccessNetworkType.NG-RAN"><em>NG-RAN</em></span></li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.AccessNetworkType.E-UTRAN"><em>E-UTRAN</em></span></li>
<li><span id="D.Device:2.Device.WWC.AccessNetwork.AccessNetworkType.W-5GAN"><em>W-5GAN</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.LastError">LastError</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Error code. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.2/3GPP-TS.24.501</a>]</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.GUTI.">Device.WWC.AccessNetwork.{i}.GUTI.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>A 5G Globally Unique Temparary Identity (GUTI) securely identifes an CPE by keeping the permanent User Equipment (UE identifier (IMSI) hidden. This identity is globally unique and assigned by the AMF at the time of registration.
See [<a href="#R.3GPP-TS.23.003">.Clause 2.10/3GPP-TS.23.003</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.GUTI.PLMN">PLMN</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The Public Land Mobile Network (PLMN) globally identifies the service provider. A PLMN consists of a country code (MCC) and a network code (MNC).
See [<a href="#R.3GPP-TS.23.003">Clause 12.1/3GPP-TS.23.003</a>].
For example, a PLMN of 50101 refers to MCC 501 (Australia) and MNC 01 (Telstra).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.GUTI.AMFId">AMFId</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The AMFId identifies an AMF instance within a service provider’s network. In conjunction with the PLMN, it forms a Globally Unique AMF Id (GUAMI) which globally uniquely identifes an AMF.
See [<a href="#R.3GPP-TS.23.003">Clause 2.10/3GPP-TS.23.003</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.AccessNetwork.GUTI.TMSI">TMSI</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The Temporary Mobile Subscriber Identity (TMSI) is allocatred by the AMF at the time of registration and uniquely identifies the CPE.
See [<a href="#R.3GPP-TS.23.003">Clause 2.4/3GPP-TS.23.003</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.WWC.URSP.">Device.WWC.URSP.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>User equipment Router Selection Policy (URSP) is a table of rules used to determine which network slice and data network to route a PDU over. Typically a 5G-RG would search the URSP table in precedence order matching the traffic descriptor types against the service it was setting up. For example a 5G-RG would search for &lsquo;connection capabilities&rsquo; matching &lsquo;ims&rsquo; in order to establish a dedicated PDU session for telephony.
See [<a href="#R.3GPP-TS.24.526">Clause 5.2/3GPP-TS.24.526</a>] for a full descrption of the URSP data elements.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WWC.URSP.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.WWC.URSP.Precedence"><em>Precedence</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.Precedence">Precedence</span></td>
<td>unsignedInt(0:255)</td>
<td>R</td>
<td>The precedence value of URSP rule field is used to specify the precedence of the URSP rule among all URSP rules in the URSP. The precedence value in the range from 0 to 255 (decimal). The higher the value of the precedence value field, the lower the precedence of the URP rule is. Multiple URSP rules in the URSP shall not have the same precedence value.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptorNumberOfEntries">TrafficDescriptorNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor."><em>TrafficDescriptor</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.">Device.WWC.URSP.{i}.TrafficDescriptor.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>A set of rules for a given precedence that must be matched in order to select a router in the form of data network and slice. Selection criteria range from destination IP addresses to connection capabilities.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.Type">Type</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Traffic Descriptor Type. See [<a href="#R.3GPP-TS.24.526">Clause 5.2/3GPP-TS.24.526</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.Value">Value</span></td>
<td>string(:1024)</td>
<td>R</td>
<td>Traffic descriptor value. See [<a href="#R.3GPP-TS.24.526">Clause 5.2/3GPP-TS.24.526</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptorNumberOfEntries">RouteSelectionDescriptorNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor."><em>RouteSelectionDescriptor</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.">Device.WWC.URSP.{i}.TrafficDescriptor.{i}.RouteSelectionDescriptor.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object describes the URSP Route Selection Descriptor table which provides a table of data networks and network slices used in PDU establishment. Table entries are used in precedence order until a successful PDU session is established.
See ((bibref|3GPP-TS.23.503|Annex A for an example URSP rule traversal.}}</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.Precedence"><em>Precedence</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.Precedence">Precedence</span></td>
<td>unsignedInt(0:255)</td>
<td>R</td>
<td>The precedence value of route selection descriptor field is used to specify the precedence of the route selection descriptor among all route selection descriptors in the URSP rule. The precedence value in the range from 0 to 255 (decimal). The higher the value of the precedence value field, the lower the precedence of the route selection descriptor is.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.SSC">SSC</span></td>
<td>unsignedInt(1:3)</td>
<td>R</td>
<td>Session and Service Continuity (SSC) Mode: Indicates that the traffic of the matching application shall be routed via a PDU Session supporting the included SSC Mode. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.16/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.DNN">DNN</span></td>
<td>string(:100)</td>
<td>R</td>
<td>The DNN value contains an APN as defined in [<a href="#R.3GPP-TS.23.003">Clause 9.1.1/3GPP-TS.23.003</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.PDUSessionType">PDUSessionType</span></td>
<td>string</td>
<td>R</td>
<td><p>PDU session type. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.11/3GPP-TS.24.501</a>]. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.PDUSessionType.IPv4"><em>IPv4</em></span></li>
<li><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.PDUSessionType.IPv6"><em>IPv6</em></span></li>
<li><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.PDUSessionType.IPv4v6"><em>IPv4v6</em></span></li>
<li><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.PDUSessionType.Unstructured"><em>Unstructured</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.AccessType">AccessType</span></td>
<td>string</td>
<td>R</td>
<td><p>The preferred access type for the PDU session. For a 5G-RG non-3GPP refers to any fixed access technology.
See [<a href="#R.3GPP-TS.24.501">Clause 9.11.3.11/3GPP-TS.24.501</a>]. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.AccessType.3GPPaccess"><em>3GPP access</em></span></li>
<li><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.AccessType.Non-3GPPaccess"><em>Non-3GPP access</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.NetworkSlice.">Device.WWC.URSP.{i}.TrafficDescriptor.{i}.RouteSelectionDescriptor.{i}.NetworkSlice.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Describes a S-NSSAI Information element providing network slice specification.
See [<a href="#R.3GPP-TS.24.501">Clause 9.11.2.8/3GPP-TS.24.501</a>]</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.NetworkSlice.SliceServiceType">SliceServiceType</span></td>
<td><span title="SST">string</span></td>
<td>R</td>
<td><p>[<a href="#T.SST">SST</a>] The Slice Service Type (SST). Enumeration of:</p>

<ul>
<li><span id="D..eMBB"><em>eMBB</em></span> (5G Enhanced Mobile Broadband)</li>
<li><span id="D..URLLC"><em>URLLC</em></span> (Ultra-Reliable Low Latency Communications)</li>
<li><span id="D..MIoT"><em>MIoT</em></span> (Massive IoT)</li>
<li><span id="D..V2X"><em>V2X</em></span> (Vehicle to Everything)
See [<a href="#R.3GPP-TS.23.501">Clause 5.15.2.2/3GPP-TS.23.501</a>].</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.NetworkSlice.SliceDifferentiator">SliceDifferentiator</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The Slice differentiator is an optional number used to differentiate network slices with the same SST.
See [<a href="#R.3GPP-TS.23.501">Clause 5.15.2.1/3GPP-TS.23.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.PDU.">Device.PDU.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The logical connection between the 5G-RG and data network is the Protocol Data Unit (PDU). The Device.PDU subtree describes each PDU sessions properties together with the QoS rules specific to that PDU session.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.SessionNumberOfEntries">SessionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.PDU.Session."><em>Session</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.PDU.Session.">Device.PDU.Session.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Contains all the properties of a PDU session instance, ranging from maximum bitrate through to assigned network slice. This object contains the <em>Session</em> table.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.PDU.Session.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.PDU.Session.SessionID"><em>SessionID</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.Interface">Interface</span></td>
<td>string(:256)</td>
<td>R</td>
<td>The value MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IP.Interface."><em>IP.Interface.</em></a> table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The IP Interface associated with the <em>PDU</em> entry.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.SessionID">SessionID</span></td>
<td>unsignedInt(1:15)</td>
<td>R</td>
<td>PDU session identity. See [<a href="#R.3GPP-TS.24.501">Clause 9.4/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.PTI">PTI</span></td>
<td>unsignedInt(1:254)</td>
<td>R</td>
<td>Procedure transaction identity. See [<a href="#R.3GPP-TS.24.501">Clause 9.6/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.SessionType">SessionType</span></td>
<td>string</td>
<td>R</td>
<td><p>The PDU session type indicating the protocol the PDU is capable of carrying. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.11/3GPP-TS.24.501</a>]. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.PDU.Session.SessionType.IPv4"><em>IPv4</em></span></li>
<li><span id="D.Device:2.Device.PDU.Session.SessionType.IPv6"><em>IPv6</em></span></li>
<li><span id="D.Device:2.Device.PDU.Session.SessionType.IPv4v6"><em>IPv4v6</em></span></li>
<li><span id="D.Device:2.Device.PDU.Session.SessionType.Unstructured"><em>Unstructured</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.SSC">SSC</span></td>
<td>unsignedInt(1:3)</td>
<td>R</td>
<td>Session and Service Continuity (SSC) Mode: Indicates that the traffic of the matching application shall be routed via a PDU Session supporting the included SSC Mode. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.16/3GPP-TS.24.501</a>]</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.SessionAMBRDownlink">SessionAMBRDownlink</span></td>
<td>unsignedLong</td>
<td>R</td>
<td>Downlink Aggregate Maximum Bit Rate in <em>bits per second</em>. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.14/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.SessionAMBRUplink">SessionAMBRUplink</span></td>
<td>unsignedLong</td>
<td>R</td>
<td>Uplink Aggregate Maximum Bit Rate in <em>bits per second</em>. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.14/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.LastError">LastError</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Error code. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.2/3GPP-TS.24.501</a>]</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.PDUIPv4Address">PDUIPv4Address</span></td>
<td><span title="IPv4Address">string(:45)</span></td>
<td>R</td>
<td>[<a href="#T.IPv4Address">IPv4Address</a>] The IPv4 address allocated to the PDU session by the SMF. This parameter is only valid if <a href="#D.Device:2.Device.PDU.Session.SessionType"><em>SessionType</em></a> has a value of <a href="#D.Device:2.Device.PDU.Session.SessionType.IPv4"><em>IPv4</em></a> or <a href="#D.Device:2.Device.PDU.Session.SessionType.IPv4v6"><em>IPv4v6</em></a>. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.10/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.PDUIPv6InterfaceIdentifier">PDUIPv6InterfaceIdentifier</span></td>
<td>string</td>
<td>R</td>
<td>The interface identifier for the IPv6 link local address allocated to the PDU session by the SMF. This parameter is only valid if <a href="#D.Device:2.Device.PDU.Session.SessionType"><em>SessionType</em></a> has a value of <a href="#D.Device:2.Device.PDU.Session.SessionType.IPv6"><em>IPv6</em></a> or <a href="#D.Device:2.Device.PDU.Session.SessionType.IPv4v6"><em>IPv4v6</em></a>. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.10/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.RQTimerValue">RQTimerValue</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Reflective QoS timeout in <em>seconds</em>. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.2.3/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.AlwaysOn">AlwaysOn</span></td>
<td>boolean</td>
<td>R</td>
<td>Always on PDU session indication. The purpose of the Always-on PDU session indication information element is to indicate whether a PDU session is established as an always-on PDU session.
See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.3/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.DNN">DNN</span></td>
<td>string(:100)</td>
<td>R</td>
<td>The Data Network Name used by the PDU. The DNN value may be from the optional S-NSSAI specified at the time of PDU establishment or a default determined by the 5G core. A DNN is analagous to an LTE APN used the same format defined in [<a href="#R.3GPP-TS.24.501">Clause 9.11.2.1A/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRuleNumberOfEntries">QoSRuleNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.PDU.Session.QoSRule."><em>QoSRule</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlowNumberOfEntries">QoSFlowNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.PDU.Session.QoSFlow."><em>QoSFlow</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.PDU.Session.PCO.">Device.PDU.Session.{i}.PCO.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Policy Configuration Options (PCO) is an optional set of configuration parameters supplied by the network at the request of the 5G-RG as defined in [<a href="#R.3GPP-TS.24.008">Clause 10.5.6.3/3GPP-TS.24.008</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.PCO.IPv6PCSCF">IPv6PCSCF</span></td>
<td><span title="IPv6Address">string(:45)</span></td>
<td>R</td>
<td>[<a href="#T.IPv6Address">IPv6Address</a>] The IPv6 address of the P-CSCF used for VoLTE telephony.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.PCO.IPv6DNS">IPv6DNS</span></td>
<td>string(:256)</td>
<td>R</td>
<td>A comma separated list of IPv6 DNS servers.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.PCO.IPv4PCSCF">IPv4PCSCF</span></td>
<td><span title="IPv4Address">string(:45)</span></td>
<td>R</td>
<td>[<a href="#T.IPv4Address">IPv4Address</a>] The IPv4 address of the P-CSCF used for VoLTE telephony.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.PCO.IPv4DNS">IPv4DNS</span></td>
<td>string(:256)</td>
<td>R</td>
<td>A comma separated list of IPv4 DNS servers.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.PDU.Session.NetworkSlice.">Device.PDU.Session.{i}.NetworkSlice.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Describes a S-NSSAI Information element providing network slice specification.
See [<a href="#R.3GPP-TS.24.501">Clause 9.11.2.8/3GPP-TS.24.501</a>]</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.NetworkSlice.SliceServiceType">SliceServiceType</span></td>
<td><span title="SST">string</span></td>
<td>R</td>
<td><p>[<a href="#T.SST">SST</a>] The Slice Service Type (SST). Enumeration of:</p>

<ul>
<li><span id="D..eMBB"><em>eMBB</em></span> (5G Enhanced Mobile Broadband)</li>
<li><span id="D..URLLC"><em>URLLC</em></span> (Ultra-Reliable Low Latency Communications)</li>
<li><span id="D..MIoT"><em>MIoT</em></span> (Massive IoT)</li>
<li><span id="D..V2X"><em>V2X</em></span> (Vehicle to Everything)
See [<a href="#R.3GPP-TS.23.501">Clause 5.15.2.2/3GPP-TS.23.501</a>].</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.NetworkSlice.SliceDifferentiator">SliceDifferentiator</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The Slice differentiator is an optional number used to differentiate network slices with the same SST.
See [<a href="#R.3GPP-TS.23.501">Clause 5.15.2.1/3GPP-TS.23.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.">Device.PDU.Session.{i}.QoSRule.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object describes the PDU QoS Rule table. The purpose of the QoS Rule table is to assign a QFI to mark traffic based on a set of classification rules. The rules are set by the netowrk operator and are specific for each PDU.
For example:</p>

<ul>
<li>A QoS Rule with a default used for general traffic has the following parameters.</li>
<li>QFI=1</li>
<li>DQR=1 - Default rule</li>
<li>Filter 1 for rule</li>
<li>Direction=bidirectional</li>
<li>Type=1 - Match all</li>
<li>A QoS Rule matchihg a voice service.</li>
<li>QFI=32</li>
<li>DQR=0</li>
<li>Filter 1 for rule</li>
<li>Direction=bidirectional</li>
<li>Type=33 - Destination IPv6 range</li>
<li>Value=2001:8000/48 - Destination IPv6 range</li>
<li>Filter 2 for rule</li>
<li>Direction=bidirectional</li>
<li>Type=16 - Destination IPv4 address with netmask</li>
<li>Value=203.1.0.0 255.255.255.0 - Destination IPv4 address with netmask
A full description can be found at [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.13/3GPP-TS.24.501</a>] QoS Rules</li></ul>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.PDU.Session.QoSRule.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.PDU.Session.QoSRule.Identifier"><em>Identifier</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Identifier">Identifier</span></td>
<td>unsignedInt(1:255)</td>
<td>R</td>
<td>The QoS rule identifier field is used to identify the QoS rule.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Precedence">Precedence</span></td>
<td>unsignedInt(0:255)</td>
<td>R</td>
<td>The QoS rule precedence field is used to specify the precedence of the QoS rule among all QoS rules. The higher the value of the QoS rule precedence field, the lower the precedence of that QoS rule is.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Segregation">Segregation</span></td>
<td>boolean</td>
<td>R</td>
<td>In the UE to network direction the segregation bit indicates whether the UE is requesting the network to bind service data flows described by the QoS rule to a dedicated QoS Flow. When <em>true</em> segregation is requested.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.QFI">QFI</span></td>
<td>unsignedInt(1:63)</td>
<td>R</td>
<td>QoS Flow identifier.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.DQR">DQR</span></td>
<td>boolean</td>
<td>R</td>
<td>Default QoS rule flag. When <em>true</em> this QoS rule is the default QoS rule.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.FilterNumberOfEntries">FilterNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.PDU.Session.QoSRule.Filter."><em>Filter</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.">Device.PDU.Session.{i}.QoSRule.{i}.Filter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object describes the PDU QoS Rule Filter table. As each packet filter is logically anded with the others, there shall not be more than one occurrence of each packet filter component type.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.PDU.Session.QoSRule.Filter.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.Direction">Direction</span></td>
<td>string</td>
<td>R</td>
<td><p>The packet filter direction field is used to indicate for what traffic direction the filter applies. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.13/3GPP-TS.24.501</a>] Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.Direction.downlink"><em>downlink</em></span></li>
<li><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.Direction.uplink"><em>uplink</em></span></li>
<li><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.Direction.bidirectional"><em>bidirectional</em></span></li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.Type">Type</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Packet filter component type identifier. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.13/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSRule.Filter.Value">Value</span></td>
<td>string(:1024)</td>
<td>R</td>
<td>Matching value for the component type. See [<a href="#R.3GPP-TS.24.501">Clause 9.11.4.13/3GPP-TS.24.501</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.">Device.PDU.Session.{i}.QoSFlow.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Table of all QoS Flow Indicators (QFI) and their properties supported by the access network for this particular PDU.
For example:</p>

<ul>
<li>A QoS Flow with a QFI of 1 used for general traffic has the following parameters.</li>
<li>FiveQI=8</li>
<li>A QoS Flow with a QFI of 32 used for voice traffic with a guaranteed bitrate of 150k has the following parameters.</li>
<li>FiveQI=1</li>
<li>GFBRUplink=150</li>
<li>GFBRDownlink=150</li></ul>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.PDU.Session.QoSFlow.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.PDU.Session.QoSFlow.QFI"><em>QFI</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.QFI">QFI</span></td>
<td>unsignedInt(1:63)</td>
<td>R</td>
<td>QoS Flow Identifier.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.FiveQI">FiveQI</span></td>
<td>unsignedInt(1:255)</td>
<td>R</td>
<td>5G QoS Identifier. See [<a href="#R.3GPP-TS.23.501">Clause 5.7.4/3GPP-TS.23.501</a>] for a table of standardised 5QI QoS characteristics.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.GFBRUplink">GFBRUplink</span></td>
<td>unsignedLong</td>
<td>R</td>
<td>Guaranteed Flow Bitrate - Upstream (expressed in <em>bits per second</em>).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.GFBRDownlink">GFBRDownlink</span></td>
<td>unsignedLong</td>
<td>R</td>
<td>Guaranteed Flow Bitrate - Downstream (expressed in <em>bits per second</em>).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.MFBRUplink">MFBRUplink</span></td>
<td>unsignedLong</td>
<td>R</td>
<td>Maximum Flow Bitrate - Upstream (expressed in <em>bits per second</em>).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.MFBRDownlink">MFBRDownlink</span></td>
<td>unsignedLong</td>
<td>R</td>
<td>Maximum Flow Bitrate - Downstream (expressed in <em>bits per second</em>).</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.AveragingWindow">AveragingWindow</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Averaging window for both uplink and downlink in <em>milliseconds</em>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.PDU.Session.QoSFlow.EPSBearer">EPSBearer</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>EPS Bearer Identity. See [<a href="#R.3GPP-TS.24.301">Clause 9.3.2/3GPP-TS.24.301</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.FWE.">Device.FWE.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>5G Wireline wireless Encapsulation transport for data plane. See <strong>{{bibref: non-existent FWEREG}}</strong>.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.LinkNumberOfEntries">LinkNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.FWE.Link."><em>Link</em></a> table.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.FWE.Link.">Device.FWE.Link.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>5G Wireline wireless Encapsulation link layer table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.FWE.Link.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.FWE.Link.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the link (see [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>]). Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.FWE.Link.Status.Up"><em>Up</em></span></li>
<li><span id="D.Device:2.Device.FWE.Link.Status.Down"><em>Down</em></span></li>
<li><span id="D.Device:2.Device.FWE.Link.Status.Unknown"><em>Unknown</em></span></li>
<li><span id="D.Device:2.Device.FWE.Link.Status.Dormant"><em>Dormant</em></span></li>
<li><span id="D.Device:2.Device.FWE.Link.Status.NotPresent"><em>NotPresent</em></span></li>
<li><span id="D.Device:2.Device.FWE.Link.Status.LowerLayerDown"><em>LowerLayerDown</em></span></li>
<li><span id="D.Device:2.Device.FWE.Link.Status.Error"><em>Error</em></span> (OPTIONAL)
This parameter is based on <em>ifOperStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</li></ul></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Name">Name</span></td>
<td>string(:64)</td>
<td>R</td>
<td>The textual name of the link as assigned by the CPE.</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.LastChange">LastChange</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The accumulated time in <em>seconds</em> since the link entered its current operational state.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.LowerLayers">LowerLayers</span></td>
<td>string[](:1024)</td>
<td>W</td>
<td>Comma-separated list (maximum number of characters 1024) of strings. Each list item MUST be the Path Name of an interface object that is stacked immediately below this interface object, or an empty string. See [<a href="#R.TR-181i2">Section 4.2.1/TR-181i2</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.">Device.FWE.Link.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface.
The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.FWE.Link.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled). Operational interface status is discussed in [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>].</td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.BytesSent">BytesSent</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of <em>bytes</em> transmitted out of the interface, including framing characters.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.BytesReceived">BytesReceived</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of <em>bytes</em> received on the interface, including framing characters.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.PacketsSent">PacketsSent</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of packets transmitted out of the interface.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.PacketsReceived">PacketsReceived</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of packets received on the interface.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.ErrorsSent">ErrorsSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The total number of outbound packets that could not be transmitted because of errors.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.UnicastPacketsSent">UnicastPacketsSent</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of packets requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.UnicastPacketsReceived">UnicastPacketsReceived</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of received packets, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.DiscardPacketsSent">DiscardPacketsSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The total number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.DiscardPacketsReceived">DiscardPacketsReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The total number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.MulticastPacketsSent">MulticastPacketsSent</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of packets that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.MulticastPacketsReceived">MulticastPacketsReceived</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of received packets, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.BroadcastPacketsSent">BroadcastPacketsSent</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of packets that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.BroadcastPacketsReceived">BroadcastPacketsReceived</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The total number of received packets, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.FWE.Link.Stats.UnknownProtoPacketsReceived">UnknownProtoPacketsReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The total number of packets received via the interface which were discarded because of an unknown or unsupported protocol.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.14</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SoftwareModules.">Device.SoftwareModules.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Top level object for dynamically managed software applications.</td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SoftwareModules.DeploymentUnit.">Device.SoftwareModules.DeploymentUnit.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table serves as the Deployment Unit inventory and contains status information about each Deployment Unit.
A new instance of this table gets created during the installation of a Software Module.</p>

<p>At most one entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.UUID"><em>UUID</em></a>, <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.Version"><em>Version</em></a> and <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.ExecutionEnvRef"><em>ExecutionEnvRef</em></a>, or with a given value for <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.SoftwareModules.DeploymentUnit.URL">URL</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td>Contains the <span class="removed">URL</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> used by the most recent ChangeDUState RPC to either Install or Update this <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit."><em>DeploymentUnit</em></a>.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>string(:1024)</em> syntax</li>
<li>Added <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SoftwareModules.ExecutionUnit.">Device.SoftwareModules.ExecutionUnit.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table serves as the Execution Unit inventory and contains both status information about each Execution Unit as well as configurable parameters for each Execution Unit.
Each <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit."><em>DeploymentUnit</em></a> that is installed can have zero or more Execution Units.
Once a Deployment Unit is installed it populates this table with its contained Execution Units.
When the Deployment Unit (that caused this <em>ExecutionUnit</em> to come into existence) is updated, this instance MAY be removed and new instances MAY come into existence. While the Deployment Unit (that caused this <em>ExecutionUnit</em> to come into existence) is being updated, all <em>ExecutionUnit</em> instances associated with the Deployment Unit will be stopped until the update is complete at which time they will be restored to the state that they were in before the update started.
When the Deployment Unit (that caused this <em>ExecutionUnit</em> to come into existence) is uninstalled, this instance is removed.
Each <em>ExecutionUnit</em> MAY also contain a set of vendor specific parameters displaying status and maintaining configuration that reside under the <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.Extensions."><em>Extensions</em></a> object.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.EUID"><em>EUID</em></a>, or with a given value for <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.SoftwareModules.ExecutionUnit.ExecutionFaultMessage">ExecutionFaultMessage</span></td>
<td>string(:256)</td>
<td>R</td>
<td>If while running or transitioning between states this <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit."><em>ExecutionUnit</em></a> identifies a fault this parameter provides a more detailed explanation of the problem. If <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.ExecutionFaultCode"><em>ExecutionFaultCode</em></a> has the value of <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.ExecutionFaultCode.NoFault"><em>NoFault</em></a> then the value of this parameter MUST <span class="inserted">be </span>an empty string and ignored by the ACS.</td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PacketCaptureDiagnostics.">Device.PacketCaptureDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The PacketCaptureDiagnostics object. This diagnostic is used to record packet capture data on a valid (layer 2 or above) interface in libpcap or pcapng format.</td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.PacketCaptureDiagnostics.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Removed <em>Cancel</em> enumeration</li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PacketCaptureDiagnostics.FileTarget">FileTarget</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>W</td>
<td><span class="removed">URL,</span><span class="inserted">The</span> <span class="removed">as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> specifying the destination file location. HTTP and HTTPS transports MUST be supported. Other transports MAY be supported.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:2048)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PacketCaptureDiagnostics.PacketCaptureResult.">Device.PacketCaptureDiagnostics.PacketCaptureResult.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>Results for individual packet capture diagnostics. Packet capture files whose FileLocation is local to the system SHOULD be deleted when the next diagnostic is run, or upon a system reboot.</td>
<td>-</td>
<td>2.13</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PacketCaptureDiagnostics.PacketCaptureResult.FileLocation">FileLocation</span></td>
<td><span title="URL">string(:2048)</span></td>
<td>R</td>
<td><span class="removed">URL,</span><span class="inserted">The</span> <span class="removed">as defined in [<a href="#R.RFC3986">RFC3986</a>],</span><span class="inserted">[<a href="#T.URL">URL</a>]</span> specifying the resulting file location of the packet capture record that triggered this result. This MAY be different than the location specified in FileTarget.

<div class="diffs"><p><strong>Changes in 2.14:</strong></p>

<ul>
<li>Changed syntax = <em>string(:2048)</em> -&gt; <em>URL</em></li></ul></div></td>
<td>-</td>
<td>2.13</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.">Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Neighboring SSID table. This table models the other WiFi SSIDs that this device is able to receive.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.BSSID"><em>BSSID</em></a>.</p></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled">SecurityModeEnabled</span></td>
<td>string</td>
<td>R</td>
<td><p>The type of encryption the neighboring WiFi SSID advertises.<span class="inserted"> The <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WEP"><em>WEP</em></a> value indicates either WEP-64 or WEP-128. The <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA"><em>WPA</em></a> value is the same as WPA-Personal. The <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA2"><em>WPA2</em></a> value is the same as WPA2-Personal. The <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA-WPA2"><em>WPA-WPA2</em></a> value is the same as WPA-WPA2-Personal. The <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA3-SAE"><em>WPA3-SAE</em></a> value is the same as WPA3-Personal. The <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA2-PSK-WPA3-SAE"><em>WPA2-PSK-WPA3-SAE</em></a> value is the same as WPA3-Personal-Transition.</span></p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.None"><em>None</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WEP"><em>WEP</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA"><em>WPA</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA2"><em>WPA2</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA-WPA2"><em>WPA-WPA2</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA-Enterprise"><em>WPA-Enterprise</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA2-Enterprise"><em>WPA2-Enterprise</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA-WPA2-Enterprise"><em>WPA-WPA2-Enterprise</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA3-SAE"><em>WPA3-SAE</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA2-PSK-WPA3-SAE"><em>WPA2-PSK-WPA3-SAE</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.SecurityModeEnabled.WPA3-Enterprise"><em>WPA3-Enterprise</em></span></li></ul></td>
<td>-</td>
<td>2.7</td></tr></tbody></table>

<hr/>

<p>Generated by <a href="https://www.broadband-forum.org">Broadband Forum</a> <a href="https://pypi.org/project/bbfreport">bbfreport</a> v2.2.0 (2024-07-23 version) on 2024-07-23 at 11:09:49 UTC.<br/>report.py –include ../../install/cwmp –output <stdout> –transform diff –format markdown tr-181-2-13-0-cwmp.xml tr-181-2-14-1-cwmp.xml</p></div>

<div id="TOC"><h1 id="table-of-contents">Table of Contents</h1>

<ul class="collapsed expanded">
<li><a href="#data-types">Data Types</a></li>
<li><a href="#references">References</a></li>
<li><a href="#legend">Legend</a></li>
<li><span class="collapsible expandable"><a href="#device214-data-model">Device:2.14 Data Model</a></span>

<ul class="collapsed expanded">
<li><span class="collapsible expandable"><a href="#D.Device:2.Device.">Device.</a></span>

<ul class="collapsed expanded ordered">
<li><a href="#D.Device:2.Device.DeviceInfo.">DeviceInfo.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.ManagementServer.">ManagementServer.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.ManagementServer.ManageableDevice.">ManageableDevice.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.ManagementServer.DownloadAvailability.">DownloadAvailability.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.">Announcement.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.ManagementServer.DownloadAvailability.Announcement.Group.">Group.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.ManagementServer.DownloadAvailability.Query.">Query.</a></li></ul></li>
<li><a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.">FirmwareImage.{i}.</a></li>
<li><a href="#D.Device:2.Device.DeviceInfo.SupportedDataModel.">SupportedDataModel.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.UserInterface.">UserInterface.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.">DSL.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.Line.">Line.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.Line.Stats.">Stats.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DSL.Line.Stats.Total.">Total.</a></li>
<li><a href="#D.Device:2.Device.DSL.Line.Stats.Showtime.">Showtime.</a></li>
<li><a href="#D.Device:2.Device.DSL.Line.Stats.LastShowtime.">LastShowtime.</a></li>
<li><a href="#D.Device:2.Device.DSL.Line.Stats.CurrentDay.">CurrentDay.</a></li>
<li><a href="#D.Device:2.Device.DSL.Line.Stats.QuarterHour.">QuarterHour.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DSL.Diagnostics.SELTUER.">SELTUER.</a></li>
<li><a href="#D.Device:2.Device.DSL.Diagnostics.SELTQLN.">SELTQLN.</a></li>
<li><a href="#D.Device:2.Device.DSL.Diagnostics.SELTP.">SELTP.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.FAST.">FAST.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.FAST.Line.">Line.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.FAST.Line.Stats.">Stats.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.FAST.Line.Stats.Total.">Total.</a></li>
<li><a href="#D.Device:2.Device.FAST.Line.Stats.Showtime.">Showtime.</a></li>
<li><a href="#D.Device:2.Device.FAST.Line.Stats.LastShowtime.">LastShowtime.</a></li>
<li><a href="#D.Device:2.Device.FAST.Line.Stats.CurrentDay.">CurrentDay.</a></li>
<li><a href="#D.Device:2.Device.FAST.Line.Stats.QuarterHour.">QuarterHour.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Optical.">Optical.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Optical.Interface.">Interface.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Cellular.">Cellular.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Cellular.Interface.">Interface.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Ethernet.">Ethernet.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Ethernet.Link.">Link.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Ghn.">Ghn.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Ghn.Interface.">Interface.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.">WiFi.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.MultiAP.">MultiAP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.">APDevice.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.">Radio.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.MultiAP.APDevice.Radio.AP.">AP.{i}.</a></li></ul></li></ul></li></ul></li>
<li><a href="#D.Device:2.Device.WiFi.Radio.">Radio.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.">NeighboringWiFiDiagnostic.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.Radio.Stats.">Stats.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.SSID.">SSID.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.SSID.Stats.">Stats.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.AccessPoint.">AccessPoint.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.AccessPoint.Security.">Security.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.">AssociatedDevice.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Stats.">Stats.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.ZigBee.">ZigBee.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.ZigBee.ZDO.">ZDO.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.ZigBee.ZDO.ComplexDescriptor.">ComplexDescriptor.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PPP.">PPP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.PPP.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.PPP.Interface.PPPoA.">PPPoA.</a> [OBSOLETED]</li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IP.">IP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IP.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.">DownloadDiagnostics.</a></li>
<li><a href="#D.Device:2.Device.IP.Diagnostics.UploadDiagnostics.">UploadDiagnostics.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.">IPLayerCapacityMetrics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.">IncrementalResult.{i}.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.MAP.">MAP.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.MAP.Domain.">Domain.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.CaptivePortal.">CaptivePortal.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Hosts.">Hosts.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Hosts.Host.">Host.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Hosts.AccessControl.">AccessControl.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Hosts.AccessControl.Schedule.">Schedule.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.">DNS.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.Client.">Client.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DNS.Client.Server.">Server.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.Relay.">Relay.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DNS.Relay.Forwarding.">Forwarding.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.NAT.">NAT.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.NAT.PortMapping.">PortMapping.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PCP.">PCP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.PCP.Client.">Client.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.PCP.Client.Server.">Server.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.PCP.Client.Server.InboundMapping.">InboundMapping.{i}.</a></li>
<li><a href="#D.Device:2.Device.PCP.Client.Server.OutboundMapping.">OutboundMapping.{i}.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.UPnP.">UPnP.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.UPnP.Device.">Device.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.UPnP.Discovery.">Discovery.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.UPnP.Discovery.RootDevice.">RootDevice.{i}.</a></li>
<li><a href="#D.Device:2.Device.UPnP.Discovery.Device.">Device.{i}.</a></li>
<li><a href="#D.Device:2.Device.UPnP.Discovery.Service.">Service.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.UPnP.Description.">Description.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.UPnP.Description.DeviceDescription.">DeviceDescription.{i}.</a></li>
<li><a href="#D.Device:2.Device.UPnP.Description.DeviceInstance.">DeviceInstance.{i}.</a></li>
<li><a href="#D.Device:2.Device.UPnP.Description.ServiceInstance.">ServiceInstance.{i}.</a></li></ul></li></ul></li>
<li><a href="#D.Device:2.Device.Firewall.">Firewall.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.FAP.">FAP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.FAP.PerfMgmt.">PerfMgmt.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.FAP.PerfMgmt.Config.">Config.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.FAP.ApplicationPlatform.">ApplicationPlatform.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.">Control.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.FemtoAwareness.">FemtoAwareness.</a></li>
<li><a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.SMS.">SMS.</a></li>
<li><a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.MMS.">MMS.</a></li>
<li><a href="#D.Device:2.Device.FAP.ApplicationPlatform.Control.TerminalLocation.">TerminalLocation.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.BulkData.">BulkData.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.BulkData.Profile.">Profile.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.BulkData.Profile.Parameter.">Parameter.{i}.</a></li>
<li><a href="#D.Device:2.Device.BulkData.Profile.CSVEncoding.">CSVEncoding.</a></li>
<li><a href="#D.Device:2.Device.BulkData.Profile.JSONEncoding.">JSONEncoding.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.BulkData.Profile.HTTP.">HTTP.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.BulkData.Profile.HTTP.RequestURIParameter.">RequestURIParameter.{i}.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.XMPP.">XMPP.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.XMPP.Connection.">Connection.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.">IEEE1905.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.">AL.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IEEE1905.AL.Interface.Link.">Link.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.">NetworkTopology.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.">IEEE1905Device.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.Interface.">Interface.{i}.</a></li></ul></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.MQTT.">MQTT.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.MQTT.Client.">Client.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.MQTT.Broker.">Broker.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.MQTT.Broker.Bridge.">Bridge.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.">LMAP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.MeasurementAgent.">MeasurementAgent.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.">CommunicationChannel.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WWC.">WWC.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WWC.AccessNetwork.">AccessNetwork.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WWC.AccessNetwork.GUTI.">GUTI.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WWC.URSP.">URSP.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor.">TrafficDescriptor.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.">RouteSelectionDescriptor.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WWC.URSP.TrafficDescriptor.RouteSelectionDescriptor.NetworkSlice.">NetworkSlice.</a></li></ul></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PDU.">PDU.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.PDU.Session.">Session.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.PDU.Session.PCO.">PCO.</a></li>
<li><a href="#D.Device:2.Device.PDU.Session.NetworkSlice.">NetworkSlice.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PDU.Session.QoSRule.">QoSRule.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.PDU.Session.QoSRule.Filter.">Filter.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.PDU.Session.QoSFlow.">QoSFlow.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.FWE.">FWE.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.FWE.Link.">Link.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.FWE.Link.Stats.">Stats.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.SoftwareModules.">SoftwareModules.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.">DeploymentUnit.{i}.</a></li>
<li><a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.">ExecutionUnit.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PacketCaptureDiagnostics.">PacketCaptureDiagnostics.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.PacketCaptureDiagnostics.PacketCaptureResult.">PacketCaptureResult.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.Result.">Result.{i}.</a></li></ul></li></ul></li></ul></li></ul></li></ul></div>
</body>
</html>
